add_options_page()
Додає дочірню сторінку (підменю) у меню адмін-панелі “Параметри” (Settings).
Функцію потрібно викликати під час події admin_menu .
нотатки
Ця функція є обгорткою функції add_submenu_page() . Для якої вказується перший параметр $parent_slug як ‘options-general.php’ , а решта параметрів просто передаються як є.
- У функції, яка виводить контент сторінки, потрібно окремо перевіряти доступ користувача (право).
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() add options page WP 6.0.2
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 ); }