WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Авторские Темы для WordPress

add_options_page() WP 1.5

Добавляет дочернюю страницу (подменю) в меню админ-панели «Параметры» (Settings).

Функцию нужно вызывать во время события admin_menu.

Заметки
  1. Это функция является оберткой для функции add_submenu_page(). Для которой указывается первый параметр $parent_slug как 'options-general.php', а все остальные параметры просто передаются как есть.

  2. В функции которая выводит контент страницы нужно отдельно проверять доступ пользователя (право).
Работает на основе: add_submenu_page()

Хуков нет.

Возвращает

Строку|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() WP 5.7.2

<?php
function add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function = '', $position = null ) {
	return add_submenu_page( 'options-general.php', $page_title, $menu_title, $capability, $menu_slug, $function, $position );
}

Из метки: Меню администрирования (admin menu)

Еще из раздела: Админ-панель

2 коммента
    Войти