add_options_page()
Добавляет дочернюю страницу (подменю) в меню админ-панели «Параметры» (Settings).
Функцию нужно вызывать во время события admin_menu.
Заметки
-
Это функция является оберткой для функции add_submenu_page(). Для которой указывается первый параметр $parent_slug как 'options-general.php', а все остальные параметры просто передаются как есть.
- В функции которая выводит контент страницы нужно отдельно проверять доступ пользователя (право).
Хуков нет.
Возвращает
Строку|false
. hook_suffix вставленной страницы (пункта меню), то что возвращает функция add_submenu_page().
Использование
add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function );
- $page_title(строка) (обязательный)
- Текст, который будет использован в теге title на странице, настроек.
- $menu_title(строка) (обязательный)
- Текст, который будет использован в качестве называния для пункта меню.
- $capability(строка) (обязательный)
- Название права доступа для пользователя, чтобы ему был показан этот пункт меню. Таблицу возможностей смотрите здесь. Этот параметр отвечает и за доступ к странице этого пункта меню.
- $menu_slug(строка) (обязательный)
Идентификатор меню. Нужно вписывать уникальную строку.
Не используйте волшебную константу __FILE__ и пробелы. Пробелы будут вырезаны при формировании URL!
Можно, также указать путь от папки плагина до файла, который будет отвечать за страницу настроек плагина, пр.
my-plugin/options.php
. В этом случае, следующий параметр $function указывать не обязательно.- $function(строка)
- Название функции, которая отвечает за код страницы этого пункта меню.
По умолчанию: ''
Примеры
#1 Базовое использование
Пример показывает, как добавить дополнительный пункт меню в раздел "Параметры" меню админ-панели.
add_action('admin_menu', 'my_plugin_menu'); function my_plugin_menu() { add_options_page('My Options', 'My Plugin', 'manage_options', 'my-plugin', 'my_plugin_page'); } function my_plugin_page(){ echo "Вывод для страницы настроек плагина"; }
#2 Добавление подменю в ООП
Этот пример показывает как добавить подменю в раздел Параметры в PHP Классах:
class options_page { function __construct() { add_action( 'admin_menu', array( $this, 'admin_menu' ) ); } function admin_menu () { add_options_page( 'Page Title','Circle Tree Login','manage_options','options_page_slug', array( $this, 'settings_page' ) ); } function settings_page () { echo 'Тут контент страницы настроек'; } } new options_page;
Список изменений
С версии 1.5.0 | Введена. |
С версии 5.3.0 | Added the $position parameter. |
Код add_options_page() add options page WP 6.3.1
function add_options_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $position = null ) { return add_submenu_page( 'options-general.php', $page_title, $menu_title, $capability, $menu_slug, $callback, $position ); }