Чтобы использовать этот метод, вам нужно создать файл uninstall.php в корневой папке вашего плагина. Этот волшебный файл запускается автоматически, когда пользователи удаляют плагин.
Например: /plugin-name/uninstall.php
При использовании uninstall.php перед выполнением плагин всегда должен проверять константу WP_UNINSTALL_PLUGIN, чтобы предотвратить прямой доступ.
Константа будет определена WordPress во время вызова uninstall.php.
Константа НЕ определяется, когда деинсталляция выполняется через register_uninstall_hook().
Вот пример удаления записей опций и удаления таблицы базы данных:
// если uninstall.php не вызван WordPress, die
if (!defined('WP_UNINSTALL_PLUGIN')) {
die;
}
$option_name = 'wporg_option';
delete_option($option_name);
// для опций сайтов в Мультисайте
delete_site_option($option_name);
// удалить пользовательскую таблицу базы данных
global $wpdb;
$wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}mytable");
В мультисайтах циклический просмотр всех блогов для удаления параметров может быть очень ресурсоемким.