Добавление новых страниц меню в административную панель 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% без риска
Нет обязательств по найму
Бесплатная оценка
1900 ₽
6 разных демо
Cоздать сайт для блога на WordPress. Идеально подходит для сайта новостей блогов и журналов, обеспечивая комфортное и приятное взаимодействие , полностью на русском языке

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

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

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

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

или

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

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

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

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

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