Как полностью удалить плагин WordPress с помощью кода

Когда вы удаляете плагин через админ-панель WordPress, часто остаются следы — записи в базе данных, файлы или настройки. Это может приводить к конфликтам, замедлению сайта или проблемам при повторной установке плагина. В этой статье мы подробно разберём, как полностью удалить плагин WordPress с помощью кода, то есть не только деактивировать и удалить его файлы, но и очистить базу данных от всех следов.

Почему важно делать полное удаление плагина WordPress

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

Например, некоторые плагины создают свои таблицы в базе данных или добавляют опции в таблицу wp_options. Без их удаления база данных будет содержать мусор, который со временем замедляет работу сайта и усложняет поддержку.

Также, если вы планируете создать аналогичный плагин или модифицировать существующий, важно уметь полностью очистить старую версию, чтобы избежать конфликтов.

Основные шаги полного удаления плагина

Полное удаление плагина состоит из трёх ключевых этапов:

  1. Деактивация и удаление файлов плагина.
  2. Удаление всех созданных плагином таблиц из базы данных.
  3. Удаление опций и настроек из таблицы wp_options.

Для автоматизации второго и третьего шага можно использовать код, который плагин выполняет при деактивации или удалении.

Хук активации и деактивации плагина в WordPress

WordPress предоставляет специальные хуки:

  • register_activation_hook — вызывается при активации плагина.
  • register_deactivation_hook — вызывается при деактивации.
  • register_uninstall_hook — вызывается при полном удалении плагина через админку.

Для полного удаления нужно реализовать функцию, подключённую к register_uninstall_hook. В ней можно описать логику удаления данных из базы.

Пример кода для полного удаления плагина wpicons-cleanup

Предположим, у вас есть плагин с префиксом wpicons. Вот пример функции, которая удалит таблицу, опции и кастомные данные.

<?php
function wpicons_uninstall_cleanup() {
    global $wpdb;

    // Удаляем кастомную таблицу плагина
    $table_name = $wpdb->prefix . 'wpicons_data';
    $wpdb->query( "DROP TABLE IF EXISTS {$table_name}" );

    // Удаляем опции плагина из базы
    delete_option('wpicons_settings');
    delete_option('wpicons_cache');

    // Удаляем пользовательские метаданные, если использовались
    $wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key LIKE 'wpicons_%'" );

    // Можно добавить удаление других следов, например, кастомных постов
    $posts = get_posts(array(
        'post_type' => 'wpicons_custom',
        'numberposts' => -1,
        'post_status' => 'any'
    ));
    foreach ($posts as $post) {
        wp_delete_post($post->ID, true);
    }
}
register_uninstall_hook(__FILE__, 'wpicons_uninstall_cleanup');
?>

Этот код нужно добавить в основной файл плагина. При удалении плагина из админки WordPress вызовет wpicons_uninstall_cleanup и удалит все данные.

Как удалить плагин вручную через FTP и базу данных

Если плагин не имеет корректного uninstall.php или register_uninstall_hook, можно сделать очистку вручную:

Удаление файлов через FTP

Подключитесь к серверу через FTP или файловый менеджер хостинга. Зайдите в папку /wp-content/plugins/ и удалите папку с плагином.

Удаление данных из базы данных

Откройте phpMyAdmin или другой менеджер базы данных и выполните SQL-запросы:

DROP TABLE IF EXISTS wp_wpicons_data;
DELETE FROM wp_options WHERE option_name IN ('wpicons_settings', 'wpicons_cache');
DELETE FROM wp_usermeta WHERE meta_key LIKE 'wpicons_%';

Не забудьте заменить префиксы wp_ на ваши реальные, если используются другие.

Плагины для автоматического удаления данных плагинов

Если вы хотите упростить процесс полного удаления плагинов, можно использовать специализированные плагины:

  • WP Reset — позволяет сбросить сайт или удалять остатки плагинов.
  • Advanced Database Cleaner — помогает чистить базу от мусорных таблиц и записей.

Используйте их аккуратно, всегда делайте бэкапы перед удалением.

Советы по разработке плагинов с поддержкой полного удаления

Если вы разрабатываете плагин, обязательно реализуйте функцию удаления данных при деинсталляции:

  • Создайте отдельный файл uninstall.php или используйте register_uninstall_hook.
  • Удаляйте все созданные таблицы, опции и пользовательские данные.
  • Проверяйте, что функция удаления вызывается только при удалении, а не при деактивации.

Это улучшит качество вашего кода и повысит доверие к вашему продукту.

Как отладить проблему: не показываются иконки в WooCommerce после обновления темы
31.05.2026
Как использовать и оптимизировать иконки в WooCommerce для повышения конверсии
07.05.2026
Как добавить иконки в WooCommerce после названия товара без плагинов
29.04.2026
Как создать динамические иконки с разными размерами в WordPress
24.01.2026
Как создать динамические иконки в WordPress
18.11.2025