Регистрация Хука Деактивации Плагина в WordPress

Регистрация Хука Деактивации Плагина в WordPress

Функция register_deactivation_hook() позволяет задать действие, которое будет выполнено при деактивации плагина. Это полезно, если вам нужно выполнять какие-то завершающие действия, например, освобождать ресурсы или удалять временные данные.

Как работает

Когда плагин деактивируется, вызывается специальный хук с названием deactivate_PLUGINNAME. В этой строке PLUGINNAME заменяется на имя вашего плагина, включая путь, если он находится в подпапке. Например, если ваш плагин расположен по адресу wp-content/plugins/sampleplugin/sample.php, то название хука будет deactivate_sampleplugin/sample.php.

Если плагин состоит только из одного файла и находится по пути wp-content/plugins/sample.php, то имя хука будет простым: deactivate_sample.php.

Возвращаемое значение

Эта функция не возвращает ничего (null).

Использование

Для регистрации хука деактивации, используйте следующий синтаксис:

register_deactivation_hook( $file, $callback );
  • $file (строка, обязательный параметр): имя файла плагина с указанием пути.
  • $callback (функция): функция, которая будет вызвана при деактивации плагина.

Примеры

Пример 1: Запуск функции при деактивации плагина

Предположим, вы хотите запустить функцию myplugin_deactivate() при деактивации плагина, и она находится в основном файле плагина:

register_deactivation_hook( __FILE__, 'myplugin_deactivate' );

function myplugin_deactivate() {
    // Здесь вы можете выполнить необходимые действия при деактивации плагина.
}

В этом примере функция myplugin_deactivate() будет вызвана, когда плагин будет деактивирован.

Пример 2: Обычные функции (не классы)

Этот пример демонстрирует, как вызвать функции активации/деактивации/удаления в файле плагина:

Пример 3: Использование классов

Если плагин написан в виде класса, регистрации функций выглядят так:

Примечание о неймспейсах

Если в вашем основном файле плагина используется неймспейс, убедитесь, что вы используете ключевое слово __NAMESPACE__ при регистрации хука:

register_deactivation_hook( __FILE__, __NAMESPACE__ . 'deactivate_plugin' );

Это необходимо для того, чтобы WordPress правильно распознал вашу функцию.

Заключение

Функция register_deactivation_hook() — это мощный инструмент для разработчиков WordPress, который позволяет выполнять действия пр�� деактивации плагина. Важно правильно зарегистрировать этот хук, чтобы ваш код выполнялся в нужный момент.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *