Описание функции add_theme_page()
Функция add_theme_page() используется для добавления пользовательских страниц в меню тем в админ-панели WordPress. Она позволяет разработчикам тем создавать настройки и опции, доступные только для данной темы.
Функция принимает параметры, которые определяют заголовок страницы, заголовок меню, уровень доступа и функцию обратного вызова для вывода содержимого страницы.
Параметры
$page_title
Тип: string
Обязательный: Да
Описание: Заголовок страницы, который отображается в заголовке браузера.
Возможные значения:
$menu_title
Тип: string
Обязательный: Да
Описание: Название элемента меню, отображаемое в меню админ-панели.
Возможные значения:
$capability
Тип: string
Обязательный: Да
По умолчанию: manage_options
Описание: Минимальные права доступа, необходимые для доступа к странице.
Возможные значения:
0: manage_options
1: edit_theme_options
2: edit_posts
$menu_slug
Тип: string
Обязательный: Да
Описание: Уникальный идентификатор для страницы меню.
Возможные значения:
$function
Тип: callable
Обязательный: Да
Описание: Функция, которая выводит содержимое страницы.
Возможные значения:
Возвращаемое значение
Тип: void
Описание: Функция ничего не возвращает. Она добавляет элемент меню в админ-панель.
Возможные значения:
• Добавление элемента меню при успешном выполнении
• Отсутствие действия при ошибке (например, если передан неверный уровень доступа)
Примеры использования
Добавление страницы настроек темы в меню админ-панели
add_theme_page('Настройки темы', 'Настройки', 'manage_options', 'theme_settings', 'my_theme_settings_page');
function my_theme_settings_page() {
echo 'Настройки темы
';
}
Страница будет доступна только пользователям с правами manage_options
Добавление страницы с дополнительными настройками
add_theme_page('Дополнительные настройки', 'Дополнительно', 'edit_theme_options', 'additional_settings', 'my_additional_settings_page');
function my_additional_settings_page() {
echo 'Дополнительные настройки
';
}
Страница доступна пользователям с правами edit_theme_options
Безопасность
Валидация входных данных: Проверьте наличие прав доступа перед выводом страницы
Санитизация: Необходима очистка данных, получаемых от пользователя
Рекомендации: Используйте функции проверки прав, такие как current_user_can(), для проверки доступа
— Связанные функции
Добавляет элемент меню в основное меню админ-панели
Добавляет подменю к существующему элементу меню
— Примечания
– Ограничения
Ошибка при попытке добавить элемент меню с уже существующим slug
– Частые проблемы
- Страница не отображается, если неправильно указаны права доступа
- Несоответствие slug в нескольких вызовах функции