Админка WordPress: как сделать её удобной для клиентов и эффективной для команды, а не только для разработчиков
Стандартная админ-панель WordPress — это инструмент, созданный «технарями для технарей». Когда вы передаёте сайт клиенту или подключаете контент-менеджера, их встречает лавина непонятных пунктов меню, ненужных виджетов и настроек, в которых легко что-то сломать. Кастомизация админки — это не косметика, а важная часть UX и безопасности. Грамотно настроенная панель управления снижает количество ошибок, ускоряет работу и делает взаимодействие с сайтом приятным. Давайте разберём, как убрать лишнее, добавить нужное и создать по-настоящему удобное рабочее пространство.
Часть 1: Зачем менять стандартную админку? 4 веские причины
- Снижение порога входа для клиента: Уберите всё, что не касается его задач (настройки тем, плагинов, инструменты). Клиент должен видеть только «Добавить запись», «Изменить страницу», «Посмотреть заказы».
- Повышение безопасности: Скрытие опасных разделов (Плагины, Пользователи, Настройки) от редакторов и авторов.
- Ускорение ежедневной работы: Создание шорткатов, вынос часто используемых функций на дашборд, кастомизация редактора.
- Брендинг и профессионализм: Замена логотига WordPress, цветовой схемы, приветствия. Сайт выглядит как законченный продукт, а не «ещё один WordPress».
Часть 2: Базовая очистка: что можно убрать сразу (код в functions.php)
1. Удаление ненужных виджетов с дашборда:
add_action('wp_dashboard_setup', 'remove_dashboard_widgets'); function remove_dashboard_widgets() { remove_meta_box('dashboard_primary', 'dashboard', 'side'); // Новости WordPress remove_meta_box('dashboard_quick_press', 'dashboard', 'side'); // Быстрая публикация remove_meta_box('dashboard_right_now', 'dashboard', 'normal'); // Обзор remove_meta_box('dashboard_activity', 'dashboard', 'normal'); // Активность // Для WooCommerce remove_meta_box('wc_admin_dashboard_setup', 'dashboard', 'normal'); }
2. Упрощение панели админ-бара (верхней черной полосы):
add_action('admin_bar_menu', 'remove_admin_bar_links', 999); function remove_admin_bar_links($wp_admin_bar) { $wp_admin_bar->remove_node('wp-logo'); // Логотип WordPress $wp_admin_bar->remove_node('comments'); // Комментарии $wp_admin_bar->remove_node('new-content'); // Пункт "Добавить" // $wp_admin_bar->remove_node('search'); // Поиск }
3. Скрытие ненужных пунктов меню для определенных ролей:
add_action('admin_menu', 'remove_menus'); function remove_menus() { $user = wp_get_current_user(); if (in_array('editor', $user->roles)) { // Для редактора remove_menu_page('index.php'); // Консоль (можно оставить) remove_menu_page('edit-comments.php'); // Комментарии remove_menu_page('themes.php'); // Внешний вид remove_menu_page('plugins.php'); // Плагины remove_menu_page('users.php'); // Пользователи remove_menu_page('tools.php'); // Инструменты remove_menu_page('options-general.php'); // Настройки } }
Часть 3: Улучшение редактора записей (Gutenberg и Classic)
Для Gutenberg (блочный редактор):
- Отключение неиспользуемых блоков: Часто 80% блоков не используются.
add_filter('allowed_block_types_all', 'allowed_block_types', 10, 2); function allowed_block_types($allowed_blocks, $post) { if ($post->post_type === 'post') { return array( 'core/paragraph', 'core/heading', 'core/image', 'core/list', 'core/quote', // Только нужные блоки ); } return $allowed_blocks; }
- Кастомизация палитры цветов и размеров шрифтов: Согласуйте с бренд-гайдлайнами клиента.
add_theme_support('editor-color-palette', array( array('name' => 'Брендовый синий', 'slug' => 'brand-blue', 'color' => '#007acc'), array('name' => 'Светло-серый', 'slug' => 'light-gray', 'color' => '#f5f5f5'), ));
Для Classic Editor (или как дополнение):
- Добавление своих кнопок в панель инструментов TinyMCE:
add_filter('mce_buttons', 'custom_tinymce_buttons'); function custom_tinymce_buttons($buttons) { array_unshift($buttons, 'styleselect'); // Добавляем выпадающий список стилей return $buttons; } add_filter('tiny_mce_before_init', 'custom_tinymce_styles'); function custom_tinymce_styles($settings) { $style_formats = array( array('title' => 'Кнопка', 'inline' => 'a', 'classes' => 'btn'), array('title' => 'Предупреждение', 'block' => 'div', 'classes' => 'alert'), ); $settings['style_formats'] = json_encode($style_formats); return $settings; }
Часть 4: Создание полезного дашборда (главного экрана)
Пустой дашboard — это упущенная возможность. Заполните его полезными виджетами:
- Кастомный виджет с инструкцией для клиента: HTML, ссылки на важные страницы, контакты поддержки.
add_action('wp_dashboard_setup', 'add_custom_dashboard_widget'); function add_custom_dashboard_widget() { wp_add_dashboard_widget('custom_help_widget', 'Инструкция по работе с сайтом', 'custom_dashboard_help'); } function custom_dashboard_help() { echo '<p>Добро пожаловать! <a href="/wp-admin/post-new.php">Добавить новость</a></p>'; echo '<p><strong>Техподдержка:</strong> support@site.ru</p>'; }
- Виджет с последними заказами (для WooCommerce), задачами, статистикой.
- Виджет для быстрого создания контента (форма добавления новой записи без перехода в раздел).
Часть 5: Плагины для комплексной кастомизации
Иногда кодом делать долго. На помощь придут плагины:
- Admin Menu Editor: Позволяет визуально перетаскивать, переименовывать, скрывать пункты меню, создавать разделители и кастомные страницы. Незаменим.
- White Label CMS: Позволяет сменить логотип, цвета, футер в админке, убрать упоминания о WordPress. Для полного ребрендинга.
- Advanced Custom Fields: Можно создавать изысканные интерфейсы для редактирования настроек сайта (опции темы) прямо в админке, без необходимости кодить сложные страницы.
- User Role Editor: Для тонкой настройки прав, которая дополняет скрытие меню.
Часть 6: Кастомизация для WooCommerce
Админка WooCommerce может быть перегружена. Что можно сделать:
- Скрыть ненужные отчеты и виджеты.
- Создать упрощенный интерфейс для менеджера заказов (плагины вроде Shop Manager Admin).
- Добавить кастомные колонки в список товаров (например, «Прибыль», «Остаток на складе»).
- Упростить форму добавления товара, спрятав неиспользуемые вкладки.
Часть 7: Безопасность и доступ
- Всегда оставляйте путь к отступлению: Убедитесь, что у вас (администратора) есть доступ ко всем скрытым разделам через прямой URL или через отдельный «суперадминский» плагин.
- Тестируйте под разными ролями: Войдите как редактор, автор, клиент. Удобно ли?
- Редирект с консоли: Если вы скрыли дашборд для некоторых ролей, перенаправляйте их сразу на страницу записей.
add_action('admin_init', 'redirect_dashboard'); function redirect_dashboard() { if (current_user_can('editor') && $_SERVER['PHP_SELF'] == '/wp-admin/index.php') { wp_redirect(admin_url('edit.php')); } }
Заключение
Админка WordPress — это лицо вашего продукта для тех, кто с ним работает ежедневно. Потратив несколько часов на её адаптацию под конкретные нужды, вы:
- Снизите количество обращений в поддержку («А где мне это найти?»)
- Уменьшите риск случайных поломок
- Повысите лояльность клиента (профессиональный вид)
- Ускорите работу своей команды
Не переусердствуйте. Цель — не создать максимально пустую панель, а убрать барьеры и дать быстрый доступ к нужным инструментам.