it-swarm.xyz

WordPress возвращается в исходное состояние?

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

А именно:

  • плагины изменяют существующие файлы или используют только определенные точки расширения в WordPress?
  • разрешено ли плагинам изменять схему базы данных (например, добавлять новые столбцы)?
  • как Wordpress гарантирует, что при удалении плагина WP всегда остается в исходном состоянии? (Является ли?)
4
Marek

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

  • Плагины не изменяют существующие файлы, они подключаются к 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 ) ). Плагин должен подключиться к этому действию, если конкретные вещи должны произойти, когда плагин деактивирован. По моему опыту несколько плагинов делают много деактивации очистки, т.е. положить их настройки в холодное хранилище на случай, если они снова активируются.

15
Annika Backstrom

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

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

Таким образом, остается вопрос: что можно сделать, если автор плагина предаст ваше доверие и сделает что-то вредоносное для вашего сайта? Регулярное резервное копирование вашего каталога wp-content, а также всей вашей базы данных - лучший способ убедиться, что вы сможете восстановить в случае, если что-то случится с вашим сайтом (например, потеря данных, хакерская атака, плохой плагин и т.д.) ,.

3
John P Bloch

Прямой ответ: НЕТ

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

1
User