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

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

Функция add_submenu_page() используется для создания подменю в админ-панели WordPress. Она позволяет разработчикам добавлять новые страницы под уже существующими меню, что помогает организовать интерфейс администрирования и улучшить пользовательский опыт.

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

Параметры

$menu_slug

Тип: string

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

Описание: Уникальный идентификатор для подменю

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

$page_title

Тип: string

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

Описание: Название страницы подменю, отображаемое в заголовке

$menu_title

Тип: string

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

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

$capability

Тип: string

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

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

Описание: Уровень доступа, необходимый для отображения подменю

$callback

Тип: callable

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

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

$position

Тип: int|null

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

Описание: Позиция подменю в меню (по умолчанию добавляется в конец)

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

Тип: void

Описание: Функция ничего не возвращает

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

• void

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

Добавляет подменю ‘Настройки’ к меню ‘Настройки’ с функцией обратного вызова для отображения содержимого

				
					add_submenu_page('options-general.php', 'Настройки моего плагина', 'Настройки', 'manage_options', 'my_plugin_settings', 'my_plugin_settings_page');
function my_plugin_settings_page() {
    echo '<h1>Настройки моего плагина</h1>';
}
				
			

Используется для настройки параметров плагина

Добавляет подменю ‘Инструменты’ к меню ‘Инструменты’ с указанием позиции

				
					add_submenu_page('tools.php', 'Инструменты плагина', 'Инструменты', 'manage_options', 'my_plugin_tools', 'my_plugin_tools_page', 20);
function my_plugin_tools_page() {
    echo '<h1>Инструменты плагина</h1>';
}
				
			

Позиция 20 ставит подменю после стандартных инструментов

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

Валидация входных данных: Проверка прав доступа и уникальности menu_slug выполняется автоматически

Санитизация: Входные параметры следует очищать, если они получены от пользователя

Рекомендации: Используйте текущие функции безопасности WordPress для проверки прав доступа, такие как current_user_can()

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

Добавляет основное меню в админ-панели

Удаляет подменю из админ-панели

— Примечания

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

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

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

  • Ошибки в праве доступа могут привести к тому, что подменю не будет отображаться
  • Использование одинаковых menu_slug для разных подменю вызовет конфликт

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

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

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

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

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

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

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

или

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

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

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

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

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