wp-code.ru wordpress WP-Codе

Как удалить неиспользуемые виджеты из административной панели WordPress

Диагностика проблемы: зачем удалять виджеты из админ-панели

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

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

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

В WordPress для удаления виджета из списка доступных используется хук widgets_init с функцией unregister_widget().

Пример: удалим стандартный виджет WP_Widget_Archives (архивы) и WP_Widget_Meta (мета-информация):

add_action('widgets_init', function() {
    unregister_widget('WP_Widget_Archives');
    unregister_widget('WP_Widget_Meta');
}, 11);

Обратите внимание, что при регистрации виджетов WordPress использует приоритет 10, поэтому для удаления ставим приоритет 11, чтобы код сработал после регистрации.

Удаление виджетов от плагинов

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

Пример удаления виджета Contact Form 7:

add_action('widgets_init', function() {
    unregister_widget('WPCF7_Widget');
}, 11);

Пошаговое решение: как убрать неиспользуемые виджеты

  1. Войдите в админку WordPress.
  2. Перейдите в раздел Внешний вид → Виджеты и отметьте виджеты, которые хотите скрыть.
  3. Определите имена классов удаляемых виджетов (через исходники или отладчик).
  4. Добавьте следующий код в файл functions.php вашей темы или в собственный плагин:
add_action('widgets_init', function() {
    unregister_widget('Имя_класса_виджета_1');
    unregister_widget('Имя_класса_виджета_2');
    // Добавьте другие по необходимости
}, 11);
  1. Сохраните изменения и обновите страницу Виджетов в админке.
  2. Проверьте, что удалённые виджеты исчезли из списка.

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

  • Зайдите в раздел Внешний вид → Виджеты.
  • Убедитесь, что указанные виджеты отсутствуют в списке доступных.
  • Проверьте, что виджеты, которые вы не трогали, остались.
  • Если виджеты отображаются — проверьте правильность имён классов и приоритет хука.

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

  • Ошибка: Виджет не удаляется.
    Причина: Неверное имя класса или неправильный приоритет.
    Решение: Проверьте точное имя класса в исходниках плагина/темы, увеличьте приоритет (например, до 20).
  • Ошибка: Функция вызывает ошибку PHP.
    Причина: Ошибка синтаксиса или функция вызывается вне хука.
    Решение: Убедитесь, что код находится внутри функции и подключён через add_action('widgets_init').
  • Ошибка: Виджет удалён, но контент на сайте пропал.
    Причина: Виджет был активен на сайте.
    Решение: Перед удалением виджета удалите его из активных боковых панелей в админке.

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

  • Не удаляйте виджеты, которые используются на сайте, чтобы избежать потери контента.
  • Добавляйте код в дочернюю тему или собственный плагин, чтобы изменения не потерялись после обновления темы.
  • Регулярно проверяйте список виджетов — плагины могут добавлять новые.
  • Для сложных кейсов используйте фильтр sidebars_widgets, чтобы контролировать вывод виджетов на фронтенде.

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

СпособПлюсыМинусы
unregister_widget в functions.phpПростая реализация, быстрый эффектТребуется знать имена классов, возможно потеря функционала
Удаление через плагин фильтрации виджетовБольше контроля, можно включать/выключатьДобавляет нагрузку, требует установки плагина
CSS-скрытие в админкеПростота, не влияет на функционалВиджеты остаются, только визуально скрыты
×

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

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

пишет статьи

готовит SEO

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

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