Добавление новых страниц меню в административную панель WordPress с помощью функции add_menu_page(): параметры, примеры, безопасность
Быстрая навигация по записи

Описание функции add_menu_page()

Функция add_menu_page() позволяет разработчикам добавлять новые страницы в меню административной панели WordPress. Это полезно для создания настроек плагина, пользовательских интерфейсов и других функций, которые требуют отдельной страницы в админке.

Функция принимает различные параметры, позволяющие настраивать заголовок, иконку и права доступа для страницы.

Параметры

$page_title

Тип: string

Обязательный: Да

Описание: Заголовок страницы, отображаемый в браузере и на странице меню.

Возможные значения:

$menu_title

Тип: string

Обязательный: Да

Описание: Название пункта меню, отображаемое в боковом меню админки.

Возможные значения:

$capability

Тип: string

Обязательный: Да

По умолчанию: manage_options

Описание: Минимальные права доступа, необходимые для просмотра страницы.

Возможные значения:

0: manage_options

1: edit_posts

2: publish_posts

3: read

4: edit_users

$menu_slug

Тип: string

Обязательный: Да

Описание: Уникальный идентификатор для меню, используемый в URL страницы.

Возможные значения:

$function

Тип: callable

Обязательный: Да

Описание: Функция, которая будет вызываться для отображения содержимого страницы.

Возможные значения:

$position

Тип: int

Обязательный: Нет

По умолчанию: null

Описание: Позиция элемента меню (опционально).

Возможные значения:

Возвращаемое значение

Тип: bool

Описание: Возвращает true при успешном добавлении страницы меню, false в противном случае.

Возможные значения:

• true — страница меню успешно добавлена

• false — произошла ошибка при добавлении страницы

Примеры использования

Добавление простой страницы меню с правами доступа ‘manage_options’

				
					add_menu_page('Мои Настройки', 'Настройки', 'manage_options', 'my_custom_page', 'my_custom_page_function');
				
			

Страница будет доступна только администраторам

Добавление страницы меню с иконкой и позиционированием

				
					add_menu_page('Мои Настройки', 'Настройки', 'manage_options', 'my_custom_page', 'my_custom_page_function', 'dashicons-admin-generic', 5);
				
			

Иконка будет отображаться слева от названия меню

Проверка успешности добавления страницы меню

				
					$result = add_menu_page('Ошибка', 'Ошибка', 'manage_options', 'my_custom_page', 'my_custom_page_function');
if (!$result) {
    echo 'Ошибка при добавлении страницы меню';
}
				
			

Предотвращает ошибки и сообщает пользователю

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

				
					add_action('admin_menu', 'my_plugin_menu');
function my_plugin_menu() {
    add_menu_page('Мои Настройки', 'Настройки', 'manage_options', 'my_custom_page', 'my_custom_page_function');
}
				
			

Функция должна быть зарегистрирована через хук admin_menu

Безопасность

Валидация входных данных: Все параметры проходят валидацию внутри функции

Санитизация: Параметры автоматически очищаются WordPress

Рекомендации: Убедитесь, что функция, вызываемая для отображения содержимого, защищена от несанкционированного доступа

— Связанные функции

Добавляет подменю к существующему элементу меню.

Удаляет страницу меню из админки.

— Примечания

– Ограничения

Не работает с пользовательскими ролями, не имеющими указанных прав доступа

– Частые проблемы

  • Ошибки при добавлении страницы из-за дублирующегося slugs
  • Отсутствие прав доступа для текущего пользователя

Оставить комментарий

Нужна помощь с WordPress WooCommerce плагинами темой оптимизацией ?

Упрощаем сложное, создаем впечатляющее!
100% без риска
Нет обязательств по найму
Бесплатная оценка
5900 ₽
Автомобильный каталог
Шаблон авто сайта на русском языке, преображающий онлайн-сервисы для автодилеров и профессионалов автобизнеса. Стильный и интуитивно понятный дизайн обеспечивает быстрый поиск автомобиля мечты

Поможем вывести Ваш бизнес на новый уровень!

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

Добро пожаловать!

Авторизуйтесь, чтобы продолжить

или

Забыли пароль? Восстановить

* Если аккунта у Вас еще нет, то он будет создан автоматически

Давайте составим техническое задание!
100% без риска
Нет обязательств по найму
Бесплатная оценка стоимости
Здравствуйте! Я асистент на основе искусственного интеллекта. Вы можете общаться со мной, как с человеком — задавайте вопросы, описывайте свои идеи и требования.

С удовольствием помогу вам составить техническое задание для вашего WordPress проекта. Если Вам нужна техническая поддержка по купленному у нас плагину или шаблону, то создайте тикет в личном кабинете.

Выберите подходящий вариант или опишите свою задачу в свободной форме, и я помогу вам составить четкий план действий, для оценки стоимости нашими разработчиками! 😊