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

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

Функция add_options_page() добавляет страницу опций в меню настроек административной панели WordPress. Это позволяет разработчикам плагинов и тем создавать собственные страницы для управления настройками, которые отображаются в разделе ‘Настройки’.

Функция обычно используется в процессе инициализации плагина или темы для добавления интерфейса для управления параметрами

Параметры

$page_title

Тип: string

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

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

$menu_title

Тип: string

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

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

$capability

Тип: string

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

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

Описание: Минимальная возможность, необходимая для доступа к странице настроек

$menu_slug

Тип: string

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

Описание: Уникальный идентификатор для страницы настроек, используемый в URL

$function

Тип: callable

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

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

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

Тип: void

Описание: Нет возвращаемого значения

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

• Не возвращает ничего

• Вызывает ошибки, если параметры переданы неверно

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

Добавление базовой страницы настроек для плагина

				
					add_options_page('Мои настройки', 'Мой плагин', 'manage_options', 'my_plugin_settings', 'my_plugin_settings_page');
				
			

Функция my_plugin_settings_page должна быть определена отдельно

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

				
					$page_title = 'Дополнительные настройки';
$menu_title = 'Доп. настройки';
$capability = 'manage_options';
$menu_slug = 'additional_settings';
add_options_page($page_title, $menu_title, $capability, $menu_slug, 'render_additional_settings');
				
			

Функция render_additional_settings должна быть реализована

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

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

Санитизация: Необходима ручная очистка данных внутри функции, выводящей содержимое страницы

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

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

Добавляет пункт меню в административную панель, похож на add_options_page, но для пользовательских страниц

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

— Примечания

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

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

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

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

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

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

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

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

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

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

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

или

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

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

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

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

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