MikeSchinkel
  • 0
Гуру

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

  • 0

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

А именно:

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

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

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

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

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

    • 0
  3. Прямой ответ: НЕТ

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

    • 0

Оставить ответ

You must login to add an answer.