Довольно часто используется разработчиками плагинов для добавления подпункта админ-меню в Настройки и страницы для него.
Эквивалентна функции add_submenu_page() с первым параметром $parent_slug
равным options-general.php
.
Возвращает хук созданной страницы, который можно использовать в других функциях, подробнее про то, как использовать этот хук, читайте в этом примере.
add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function = '', $position = null )
<title>
) создаваемой страницы. Понятно, что заголовок можем вывести в HTML любой, но можем и автоматически вывести это значение функцией get_admin_page_title()Попробуем теперь добавить свою страницу в админку WordPress.
Обратите внимание, что мы не используем функцию напрямую, а вещаем её на хук admin_menu
. Не понимаете, что это значит? Смотрите видеоурок по хукам.
add_action( 'admin_menu', 'true_add_options_page', 25 ); function true_add_options_page() { add_options_page( 'Какие-то настройки', 'Какие-то', 'manage_options', 'truepage', 'true_display_options_page', 1 ); } function true_display_options_page() { echo 'Тут выводим какие-то настройки'; }
Не знаете, куда вставлять код?
Получим:
Следующий шаг – добавление на эту страницу каких-либо опций, о том, как это сделать, у меня на сайте есть отдельное руководство.
В ситуациях с добавлением кастомных страниц настроек использование PHP-классов бывает очень удобно, хотя возможно не конкретно в этом примере. Тем не менее, вот как это будет выглядеть:
class trueOptionsPage{ function __construct() { add_action( 'admin_menu', array( $this, 'add' ), 25 ); } function add(){ add_options_page( 'Какие-то настройки', 'Какие-то', 'manage_options', 'truepage', array( $this, 'display' ), 1 ); } function display() { echo 'Тут выводим какие-то настройки'; } } new trueOptionsPage();
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.