wpcontrol.ru wordpress WPControl.ru

Как правильно удалить или отключить WooCommerce без ошибок

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

Почему просто отключить WooCommerce недостаточно

Многие думают, что достаточно зайти в админку WordPress и деактивировать плагин. Однако WooCommerce при активации создаёт множество таблиц в базе данных, записей в таблицах wp_options, привязывает пользовательские роли и назначает множество метаданных.

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

Как правильно отключить WooCommerce на время

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

  • Деактивируйте плагин через панель WordPress.
  • Если нужно убрать отображение магазина, настройте редиректы или скрывайте меню магазина через кастомный код.
  • Используйте плагин Maintenance Mode для временного закрытия сайта или нужных страниц.
  • Отключите виджеты и шорткоды WooCommerce вручную, чтобы не появлялись ошибки.

Пример кода для скрытия магазина в шаблоне (functions.php темы):

function wpcontrol_hide_woocommerce_pages() {
    if( class_exists('WooCommerce') ) {
        if ( is_shop() || is_product_category() || is_product() ) {
            wp_redirect(home_url());
            exit;
        }
    }
}
add_action('template_redirect', 'wpcontrol_hide_woocommerce_pages');

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

Полное удаление WooCommerce: как убрать все данные

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

Сделайте резервную копию базы данных перед удалением.

Удаление через интерфейс WordPress и базу данных

По умолчанию WooCommerce не удаляет данные при деактивации и удалении. Чтобы исправить это, можно добавить в wp-config.php или самостоятельно вызвать удаление данных.

Добавьте в wp-config.php перед строкой /* That's all, stop editing! Happy publishing. */:

define('WC_REMOVE_ALL_DATA', true);

После этого удалите плагин через админку. WooCommerce удалит базы и настройки.

Ручное удаление таблиц WooCommerce из базы

Если вы не хотите использовать этот способ, можно удалить таблицы через phpMyAdmin или командную строку MySQL:

  • wp_woocommerce_sessions
  • wp_woocommerce_api_keys
  • wp_woocommerce_attribute_taxonomies
  • wp_woocommerce_downloadable_product_permissions
  • wp_woocommerce_order_items
  • wp_woocommerce_order_itemmeta
  • wp_woocommerce_tax_rates
  • wp_woocommerce_tax_rate_locations
  • wp_woocommerce_shipping_zones
  • wp_woocommerce_shipping_zone_locations
  • wp_woocommerce_shipping_zone_methods
  • wp_woocommerce_payment_tokens
  • wp_woocommerce_payment_tokenmeta

Замените префикс wp_ на ваш собственный, если он отличается.

Удаление пользовательских ролей и опций

WooCommerce добавляет роли shop_manager и customer, а также множество опций в таблице wp_options.

Пример функции для удаления ролей и опций (вставьте в functions.php и выполните единожды):

function wpcontrol_remove_woocommerce_roles_options() {
    remove_role('shop_manager');
    remove_role('customer');

    global $wpdb;
    $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE 'woocommerce_%'");
}
add_action('admin_init', 'wpcontrol_remove_woocommerce_roles_options');

После выполнения удалите эту функцию, чтобы она не сработала повторно.

Плагины для удаления WooCommerce и очистки базы

Существуют плагины, которые помогают безопасно удалить WooCommerce и очистить базу:

  • WP Rocket — хотя основной функционал — кэширование, есть опции очистки базы.
  • Clearfy Pro — позволяет оптимизировать сайт и удалять неиспользуемые данные.

Заключение по удалению WooCommerce

Удаление WooCommerce — задача, требующая аккуратности и понимания, какие данные остаются в базе. Если вы временно отключаете плагин, просто деактивируйте его и скрывайте страницы магазина через код. Если же нужно удалить полностью — используйте константу WC_REMOVE_ALL_DATA, удалите таблицы и роли вручную или с помощью плагинов для очистки базы.

Все это поможет избежать ошибок, замедления сайта и конфликтов с другими плагинами в будущем.

×
Оптимизируй свой сайт!

Скидка -15% на премиум плагин Clearfy Pro

Купить плагин сейчас ⋙