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

Описание функции 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 '<h1>Настройки темы</h1>';
}
				
			

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

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

				
					add_theme_page('Дополнительные настройки', 'Дополнительно', 'edit_theme_options', 'additional_settings', 'my_additional_settings_page');
function my_additional_settings_page() {
    echo '<h1>Дополнительные настройки</h1>';
}
				
			

Страница доступна пользователям с правами edit_theme_options

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

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

Санитизация: Необходима очистка данных, получаемых от пользователя

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

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

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

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

— Примечания

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

Ошибка при попытке добавить элемент меню с уже существующим slug

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

  • Страница не отображается, если неправильно указаны права доступа
  • Несоответствие slug в нескольких вызовах функции

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

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

Упрощаем сложное, создаем впечатляющее!
100% без риска
Нет обязательств по найму
Бесплатная оценка
1900 ₽
6 разных демо
Cоздать сайт для блога на WordPress. Идеально подходит для сайта новостей блогов и журналов, обеспечивая комфортное и приятное взаимодействие , полностью на русском языке

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

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

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

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

или

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

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

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

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

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