Всегда ли устранение плагина возвращает WordPress обратно в исходное состояние?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/390

Вопрос

Что такое срок службы плагина в развернутом экземпляре WordPress?

А именно:

  • Модифицируют ли плагины существующие файлы или они используют только определенные точки расширения в WordPress?
  • Разрешены ли плагины изменять схему базы данных (например, добавить новые столбцы)?
  • Как WordPress гарантирует, что плагин удалил всегда оставляет WP в исходном состоянии? (Имеет ли это?)
Это было полезно?

Решение

Короткий ответ:

  • Плагины не изменяют существующие файлы, они забирают WordPress через открытый API.
  • Плагины могут изменить схему базы данных.
  • Плагины не должны удалять чистое.

Плагины крючки

Плагины подключаются к WordPress в определенной точке, обнаженной ядром WordPress.

http://codex.wordpress.org/plugin_api

В качестве примера функция get_option() Считает опцию сайта из базы данных. Прежде чем какое -либо реальное действие будет предпринято внутри этой функции, вызовы WordPress вызовы apply_filters( 'pre_option_' . $option, false ). Анкет Учитывая вариант foobar, плагин может переопределить истинное значение этой опции со следующим кодом:

function override_foobar( $unused ) {
    return 'My custom value.';
}
add_filter( 'pre_option_foobar', 'override_foobar' ); // add_filter(hook, function)

Смотрите также http://adambrown.info/p/wp_hooks/.

Плагины изменяют базу данных

Плагины имеют возможность изменить базу данных, предполагая, что пользователь базы данных WordPress по -прежнему имеет это разрешение. Некоторые из более сложных плагинов добавляют свои собственные столы. Вполне возможно, что плагин может изменить основные таблицы, и, надеюсь, они сделают это ответственно и в некотором смысле, это не нарушает вещи, если плагин будет удален.

Это должно быть рассмотрено на основе плагина за плугином.

Удаление плагинов

А deactivate_plugins() Функция вызывает действие do_action( 'deactivate_' . trim( $plugin ) ). Анкет Плагин должен подключаться к этому действию, если конкретные вещи должны произойти, когда плагин деактивирован. По моему опыту, немногие плагины делают много деактивации, т.е. Установите свои настройки в холодное хранение на случай, если они снова активируются.

Другие советы

Плагины в WordPress делают то, что говорит код. Чтобы ответить конкретно на ваши вопросы,

  1. Они не должны, но ничто не мешает им изменить основные файлы.
  2. Им разрешено полностью взаимодействовать с базой данных любым способом, который может сам WordPress.
  3. WordPress не удостоверяется, что плагин удаляет всю установку. Если автор плагина установит функцию удаления, чтобы удалить все, это сделает это.

Таким образом, это оставляет вопрос, что можно сделать, если автор плагинов предает ваше доверие и делает что -то злонамеренное для вашего сайта? Наличие регулярного резервного копирования вашего каталога WP-контента, а также всей вашей базы данных-лучший способ убедиться, что вы сможете восстановиться в случае, если что-то случится с вашим сайтом (например, потеря данных, взлом атака, плохой плагин и т. Д.) Анкет

Прямой ответ: нет

Плагины могут делать все, что вы можете сделать с PHP -кодом ..

Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top