Добавление страницы в меню тем 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% без риска
Нет обязательств по найму
Бесплатная оценка
5900 ₽
Система аренды
Шаблон сайта аренды спецтехники или строительного оборудования. Этот шаблон помогает создать функциональный ресурс, где пользователи могут легко арендовать оборудование для строительства

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

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

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

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

или

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

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

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

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

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