Описание функции 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 'Настройки моего плагина
';
}
Используется для настройки параметров плагина
Добавляет подменю ‘Инструменты’ к меню ‘Инструменты’ с указанием позиции
add_submenu_page('tools.php', 'Инструменты плагина', 'Инструменты', 'manage_options', 'my_plugin_tools', 'my_plugin_tools_page', 20);
function my_plugin_tools_page() {
echo 'Инструменты плагина
';
}
Позиция 20 ставит подменю после стандартных инструментов
Безопасность
Валидация входных данных: Проверка прав доступа и уникальности menu_slug выполняется автоматически
Санитизация: Входные параметры следует очищать, если они получены от пользователя
Рекомендации: Используйте текущие функции безопасности WordPress для проверки прав доступа, такие как current_user_can()
— Связанные функции
Добавляет основное меню в админ-панели
Удаляет подменю из админ-панели
— Примечания
– Ограничения
Не может быть добавлено подменю к меню, которое еще не существует
– Частые проблемы
- Ошибки в праве доступа могут привести к тому, что подменю не будет отображаться
- Использование одинаковых menu_slug для разных подменю вызовет конфликт