Описание deactivate_{$plugin}
— Action
Хук deactivate_{$plugin} позволяет выполнять определенные действия при деактивации плагина. Он срабатывает сразу после того, как плагин отключен через админку WordPress, что позволяет разработчикам выполнять очистку или сброс настроек
Примеры использования
Пример удаления пользовательских настроек при деактивации плагина:
add_action('deactivate_my-plugin/my-plugin.php', function() {
delete_option('my_plugin_settings');
});
В этом примере мы удаляем настройки плагина из базы данных при его деактивации
Пример очистки временных файлов при деактивации плагина:
add_action('deactivate_my-plugin/my-plugin.php', function() {
$temp_dir = plugin_dir_path(__FILE__) . 'temp/';
array_map('unlink', glob($temp_dir . '*.*'));
});
Здесь мы очищаем временные файлы, созданные плагином, при его отключении
Пример создания записи в лог при деактивации плагина:
add_action('deactivate_my-plugin/my-plugin.php', function() {
error_log('Плагин my-plugin был деактивирован');
});
Этот код записывает сообщение в лог для отслеживания деактивации плагина
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо выполнить очистку или другие действия при деактивации плагина
– Производительность
Избегайте тяжелых операций, чтобы не замедлять процесс деактивации
– Предупреждения
Убедитесь, что операции, выполняемые в хуке, не зависят от состояния других плагинов или тем, так как они могут быть отключены
Альтернативы
Тип: action
Этот хук срабатывает при деактивации любого плагина, что позволяет выполнять глобальные действия
Используйте его, если необходимо обработать события деактивации для всех плагинов, а не только для конкретного