В админке WordPress меню играет ключевую роль в навигации по сайту и работе с функционалом. Однако стандартный набор пунктов меню не всегда подходит под конкретные задачи проекта. В этой статье мы подробно разберем, как кастомизировать пункты меню в админке WordPress: как добавлять новые, изменять существующие и удалять ненужные. Также рассмотрим примеры кода и полезные плагины для решения этой задачи.
Почему стоит кастомизировать меню в админке WordPress
Стандартный интерфейс WordPress подходит для большинства пользователей, но в некоторых случаях требуется изменить меню для:
- Упрощения интерфейса для клиентов или редакторов, скрывая ненужные пункты.
- Добавления новых разделов с функционалом, специфичным для проекта.
- Оптимизации рабочего процесса и улучшения навигации.
Кастомизация меню помогает сделать админку более понятной и удобной, уменьшить количество ошибок и ускорить работу.
Как удалить ненужные пункты меню в админке WordPress
Чтобы убрать пункты меню, которые не нужны пользователям, используют хук admin_menu и функцию remove_menu_page(). Например, чтобы удалить раздел «Комментарии» и «Плагины», добавьте в файл functions.php вашей темы или в плагин такой код:
function wpbloger_remove_menus() {
remove_menu_page('edit-comments.php'); // Убираем комментарии
remove_menu_page('plugins.php'); // Убираем плагины
}
add_action('admin_menu', 'wpbloger_remove_menus');
Этот код удалит указанные пункты меню для всех пользователей. Если нужно скрыть только для определённых ролей, добавим проверку:
function wpbloger_remove_menus_for_subscribers() {
if (current_user_can('subscriber')) {
remove_menu_page('edit-comments.php');
remove_menu_page('plugins.php');
}
}
add_action('admin_menu', 'wpbloger_remove_menus_for_subscribers');
Таким образом, администраторы увидят все меню, а подписчики — только необходимые им пункты.
Добавление новых пунктов меню и подменю в админке
Для добавления новых пунктов меню в админку WordPress используется функция add_menu_page(), а для вложенных пунктов — add_submenu_page(). Рассмотрим пример добавления нового раздела «Настройки WPBloger» с подменю «Общие».
function wpbloger_add_custom_admin_menu() {
add_menu_page(
'Настройки WPBloger', // Заголовок страницы
'WPBloger', // Название меню
'manage_options', // Возможности
'wpbloger-settings', // Уникальный слаг
'wpbloger_settings_page', // Функция вывода контента
'dashicons-admin-generic', // Иконка
60 // Позиция меню
);
add_submenu_page(
'wpbloger-settings', // Родительский слаг
'Общие настройки', // Заголовок подменю
'Общие', // Название подменю
'manage_options',
'wpbloger-settings', // Слаг подменю (совпадает с родительским для замены)
'wpbloger_settings_page'
);
add_submenu_page(
'wpbloger-settings',
'Расширенные настройки',
'Расширенные',
'manage_options',
'wpbloger-advanced-settings',
'wpbloger_advanced_settings_page'
);
}
add_action('admin_menu', 'wpbloger_add_custom_admin_menu');
function wpbloger_settings_page() {
echo '<h1>Общие настройки WPBloger</h1>';
echo '<p>Здесь вы можете настроить основные параметры плагина или темы.</p>';
}
function wpbloger_advanced_settings_page() {
echo '<h1>Расширенные настройки WPBloger</h1>';
echo '<p>Настройки для опытных пользователей.</p>';
}
Такой подход позволяет организовать удобное меню с разделением настроек по категориям.
Изменение названий и иконок существующих пунктов меню
Иногда нужно переименовать пункты меню или заменить иконки. Для этого используется глобальный массив $menu и $submenu. Пример переименования пункта «Записи» в «Блог» и смены иконки:
function wpbloger_rename_menu_items() {
global $menu;
foreach($menu as $key => $menu_item) {
if ($menu_item[2] == 'edit.php') {
$menu[$key][0] = 'Блог'; // Переименовываем пункт
$menu[$key][6] = 'dashicons-welcome-write-blog'; // Меняем иконку
}
}
}
add_action('admin_menu', 'wpbloger_rename_menu_items', 999);
Таким образом можно тонко настраивать внешний вид и структуру меню под задачи проекта.
Использование плагинов для кастомизации меню
Если вы предпочитаете готовые решения, обратите внимание на следующие плагины:
- Admin Menu Editor — мощный и удобный инструмент для редактирования меню через интерфейс без кода.
- Clearfy Pro — плагин оптимизации, который также позволяет скрывать ненужные пункты в админке и настраивать интерфейс.
- WPCommunity — если вы используете этот плагин, в нем есть собственные настройки меню для удобства участников сообщества.
Подробности и ссылки на эти плагины можно найти на WPSHOP.RU.
Советы по безопасности при кастомизации меню
При изменении меню важно соблюдать несколько правил безопасности:
- Всегда проверяйте права пользователя через функции
current_user_can()илиuser_can(), чтобы скрывать или показывать пункты только нужным ролям. - Не удаляйте пункты, которые нужны для обновления и поддержки сайта, если не уверены в последствиях.
- Используйте возможности дочерних тем или собственных плагинов для кастомизации, чтобы не потерять изменения при обновлении.
Заключение
Кастомизация меню в админке WordPress — мощный инструмент для адаптации интерфейса под конкретные задачи и пользователей. С помощью функций remove_menu_page(), add_menu_page(), add_submenu_page() и работы с глобальными массивами $menu и $submenu вы можете создавать удобный и понятный административный интерфейс.
Если вам нужна удобная настройка без кода, обратите внимание на проверенные плагины типа Admin Menu Editor и Clearfy Pro, которые можно найти на WPSHOP.RU.
Практические знания и приведённые примеры помогут вам быстро внедрить нужные изменения и улучшить работу с WordPress.