wpclean.ru wordpress WPClean.ru

Как удалить неиспользуемые виджеты в WooCommerce без плагинов

Проблема: виджеты WooCommerce, которые не нужны, но отображаются в админке и на сайте

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

Диагностика проблемы

Чтобы понять, какие виджеты WooCommerce активны на вашем сайте, перейдите в Внешний вид > Виджеты в панели администрирования. Там вы увидите список доступных виджетов, в том числе из WooCommerce, например:

  • WooCommerce Корзина
  • Фильтр по цене
  • Фильтр по атрибутам
  • Топ-продукты
  • Последние отзывы

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

Пошаговое решение: удаление виджетов WooCommerce через код

Удалить виджеты без плагинов можно, отключив их регистрацию с помощью хука widgets_init. Добавьте следующий код в файл functions.php вашей дочерней темы или в кастомный плагин:

function disable_woocommerce_widgets() {
    unregister_widget('WC_Widget_Cart');
    unregister_widget('WC_Widget_Layered_Nav');
    unregister_widget('WC_Widget_Layered_Nav_Filters');
    unregister_widget('WC_Widget_Price_Filter');
    unregister_widget('WC_Widget_Product_Categories');
    unregister_widget('WC_Widget_Product_Tag_Cloud');
    unregister_widget('WC_Widget_Recent_Reviews');
    unregister_widget('WC_Widget_Top_Rated_Products');
    unregister_widget('WC_Widget_Products');
}
add_action('widgets_init', 'disable_woocommerce_widgets', 20);

Объяснение:

  • unregister_widget() деактивирует конкретный виджет по его классу.
  • Приоритет 20 у хука widgets_init гарантирует, что мы отключаем виджеты после их регистрации WooCommerce.

Как узнать класс виджета WooCommerce

Если хотите отключить другие виджеты, проверьте классы в файлах WooCommerce: они лежат в папке woocommerce/includes/widgets/. Например, виджет корзины в файле class-wc-widget-cart.php с классом WC_Widget_Cart.

Проверка результата после внедрения

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

Частые ошибки и как их исправить

  • Ошибка: Виджеты по-прежнему отображаются в списке.
    Причина: Код добавлен с неправильным приоритетом или в неправильный файл.
    Решение: Убедитесь, что код в functions.php дочерней темы или в отдельном плагине и приоритет хука не меньше 20.
  • Ошибка: Фатальная ошибка из-за неверного класса виджета.
    Причина: Использован неправильный класс в unregister_widget().
    Решение: Проверьте точное имя класса в файлах WooCommerce.
  • Ошибка: Виджеты удалились из админки, но функциональность сайта нарушилась.
    Причина: Виджеты были задействованы в шаблонах или через шорткоды.
    Решение: Проверьте и удалите вызовы виджетов в шаблонах или замените их на альтернативные решения.

Практические советы по безопасности и производительности

  • Не удаляйте виджеты, если не уверены, что они не используются ни в одном месте сайта.
  • Добавляйте код в дочернюю тему или кастомный плагин, чтобы изменения не потерялись при обновлении.
  • Для больших сайтов с WooCommerce отключение ненужных виджетов может ускорить загрузку страниц и снизить нагрузку на сервер.
  • Используйте unregister_widget() вместо модификаций ядра WooCommerce — это безопасный и обновляемый способ.

Сравнение способов удаления виджетов WooCommerce

МетодПлюсыМинусы
Плагин для отключения виджетовПростота использования, не требует кодаДополнительная нагрузка, может конфликтовать с другими плагинами
Код в functions.php с unregister_widget()Быстро, без плагинов, контроль над виджетамиТребует базовых знаний PHP, может быть сложно для новичков
Редактирование файлов WooCommerceПолный контрольНебезопасно, потеря изменений при обновлении
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше