Функция register_uninstall_hook()
используется при разработке плагинов, позволяет привязать какую-то произвольную функцию, срабатывающую при удалении плагина. Весь код плагина, подключенный не через хуки, будет также выполнен при удалении, возможно в такой ситуации лучше использовать uninstall.php.
Смотрите также:
register_uninstall_hook( $file, $function )
- $file
- Файл плагина, обычно переменная содержит константу
__FILE__
, если функция используется непосредственно в главном файле плагина, либо путь на сервере до него, напримерdirname( __FILE__ ) . '/my-plugin.php'
- $function
- Название функции в виде строки, например
my_function
, либо метода класса в виде массива, напримерarray( 'My_Class', 'my_method' )
(илиarray( $this, 'my_method' )
при запуске из самого класса).
Функция ничего не возвращает.
uninstall.php
Тем не менее при выполнении каких-либо действий при удалении рекомендуется использовать файл uninstall.php
, который также должен лежать непосредственно в папке с плагин. При его наличии функция register_uninstall_hook()
будет игнорироваться.
Сам uninstall.php
должен соответствовать следующему шаблону:
if( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) { // константа определена только в момент удаления плагина exit; } // делаем какие-то действия при удалении
Пример
Вставляем этот код в главный файл плагина:
register_uninstall_hook( __FILE__, 'truemisha_uninstall' ); function truemisha_uninstall(){ // делаем что-либо при удалении плагина }
Чаще используется для подчищения опций после удаления плагина или даже целых таблиц в базе данных, которые он создал.