Методы удаления

Возможно вашему плагину потребуется сделать за собой зачистку, когда он удаляется с сайта. Плагин считается деинсталлированым, если пользователь отключил плагин, а затем нажал на ссылку удалить.

Когда плагин будет удален, возможно понадобится очистить какие-либо правила перезаписи, добавленные с помощью плагина, опции и/или настройки, специфичные для плагина, или другие значения в базе данных, которые должны быть удалены. Менее опытные разработчики иногда делают ошибку, используя хук деактивации для этой цели.

Эта таблица иллюстрирует различия между деактивацией (выключением) и деинсталляцией (удалением):

uninstall-methods

Вместо того чтобы использовать хук деактивации, необходимо выполнить одно из следующих действий:

  • использовать функцию register_uninstall_hook()
  • или создать файл uninstall.php в корневой папке плагина

Вот пример использования uninstall.php

uninstall.php

При использовании uninstall.php, плагину следует всегда проверять константу WP_UNINSTALL_PLUGIN перед выполнением. Константа WP_UNINSTALL_PLUGIN устанавливается WordPress во время выполнения удаления плагина, она не будет присутствовать, если uninstall.php запрашивается напрямую. Она также не будет присутствовать при использовании метода с хуком деинсталляции. WP_UNINSTALL_PLUGIN определяется только если файл uninstall.php находится в папке плагина.

Вот пример удаления записей в базе данных:

Примечание: В мультисайтах, запуск цикла через все блоги, чтобы удалить параметры, может быть очень ресурсоемким.

Навигация по разделам:

Оставить комментарий

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