register_uninstall_hook()

Функция 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(){
 
	// делаем что-либо при удалении плагина	
 
}

Чаще используется для подчищения опций после удаления плагина или даже целых таблиц в базе данных, которые он создал.

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!