Диагностика: зачем удалять виджеты из админ-панели
При большом количестве установленных плагинов и тем в WordPress админ-панель может быть загромождена виджетами (dashboard widgets), которые редко используются, создают визуальный шум и замедляют загрузку страницы. Часто владельцы сайтов не знают, как убрать стандартные или сторонние виджеты, чтобы упростить интерфейс для себя или клиентов.
Какие виджеты можно удалить
В админ-панели есть стандартные виджеты WordPress, например:
- Добро пожаловать
- Новости WordPress
- Активность
- Быстрые черновики
- Обновления
Также плагины могут добавлять собственные виджеты. Удаление всех или выбранных виджетов помогает улучшить UX и производительность.
Пошаговое решение — удаляем виджеты программно
Для удаления виджетов в WordPress используется хук wp_dashboard_setup. В функции-обработчике вызывается remove_meta_box() с идентификатором виджета.
Пример удаления стандартных виджетов и виджета плагина (например, с ID plugin_dashboard_widget):
add_action('wp_dashboard_setup', function() {
remove_meta_box('dashboard_quick_press', 'dashboard', 'side'); // Быстрые черновики
remove_meta_box('dashboard_primary', 'dashboard', 'side'); // Новости WordPress
remove_meta_box('dashboard_activity', 'dashboard', 'normal'); // Активность
remove_meta_box('dashboard_right_now', 'dashboard', 'normal'); // Добро пожаловать, сейчас называется "Обзор"
// Удаление виджета стороннего плагина
remove_meta_box('plugin_dashboard_widget', 'dashboard', 'normal');
});Идентификаторы виджетов можно узнать, включив отображение ID в браузере через инструменты разработчика или посмотрев исходный код страницы админки.
Удаление всех виджетов кроме необходимых
Если нужно очистить панель полностью и оставить, например, только «Обновления» (dashboard_update), можно сделать так:
add_action('wp_dashboard_setup', function() {
global $wp_meta_boxes;
$allowed = ['dashboard_update'];
foreach ($wp_meta_boxes['dashboard'] as $context => $boxes) {
foreach ($boxes as $id => $box) {
if (!in_array($id, $allowed)) {
remove_meta_box($id, 'dashboard', $context);
}
}
}
});Как проверить, что виджеты удалены
После добавления кода в файл functions.php активной темы или в отдельный кастомный плагин:
- Обновите страницу «Консоль» (Dashboard) в админке WordPress.
- Убедитесь, что выбранные виджеты отсутствуют.
- Очистите кеш браузера, если изменения не видны.
- Если виджеты плагинов не исчезают, проверьте, нет ли повторного их добавления позднее (например, в самом плагине).
Частые ошибки при удалении виджетов
- Неверный ID виджета: Если указываете неправильный идентификатор, виджет не удалится. Используйте инспектор кода и документацию плагина.
- Добавление кода в неподходящее место: Код должен работать на хук
wp_dashboard_setup, иначе удаление не сработает. - Конфликты с плагинами: Некоторые плагины могут снова добавлять свои виджеты позднее, попробуйте приоритет в
add_action, например 100. - Кеширование: Кеширование админки может препятствовать обновлению. Отключите кеш для админки или очистите его.
Практические советы по безопасности и производительности
- Удаление лишних виджетов уменьшает нагрузку на сервер, так как снижается количество запросов и отрисовки.
- Не удаляйте виджеты, отвечающие за безопасность или обновления, чтобы не пропустить важные уведомления.
- Делайте код изолированным в плагине, чтобы при смене темы изменения не пропадали.
- Для группового управления виджетами рассмотрите использование плагина Clearfy Pro — в нем есть готовые опции для очистки админ-панели.
Сравнение способов удаления виджетов
| Метод | Плюсы | Минусы |
|---|---|---|
Программное удаление через remove_meta_box() |
Полный контроль, без плагинов, легко настраивается | Требует базовых знаний PHP, может сбиваться при обновлениях |
| Плагины (например, Adminimize) | Простой интерфейс, подходит для неразработчиков | Дополнительная нагрузка, меньше гибкости |
| Использование плагинов оптимизации (Clearfy Pro) | Дополнительные функции для очистки, безопасность и SEO | Платный продукт, лишний функционал если нужен только удаление виджетов |