Добавляет дочерний элемент и страницу к нему в меню Внешний вид в админ-панели.
Функция аналогична функции add_submenu_page() с первым параметром $parent_slug
равным themes.php
.
В случае успеха возвращает хук созданной страницы, который можно использовать в других функциях, подробнее про то, как использовать этот хук, читайте в этом примере. В случае, если у текущего пользователя нет прав для просмотра добавленной страницы, возвращает false
.
add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function = '', $position = null )
Параметры
- $page_title
- (строка) Заголовок, а также тайтл (то, что в теге
<title>
) страницы. - $menu_title
- (строка) Текст ссылки в меню
- $capability
- (строка) Минимально необходимые права пользователя для доступа к странице.
- $menu_slug
- (строка) Ярлык страницы.
- $function
- (строка|массив) Функция или метод класса для вывода содержимого страницы.
- $position
- (целое) (с версии 5.3.0) Приоритет вывода ссылки на страницу в меню. По умолчанию выводится непосредственно перед ссылкой «Редактор тем». Чем меньше значение этого параметра = тем выше приоритет = тем раньше выведется ссылка на нашу страницу.
Пример использования add_theme_page()
Обратите внимание, что мы не используем функцию напрямую, а вешаем её на хук admin_menu
. Кстати, функция сработает и для панели суперадминистраторов в сети WordPress мультисайт, но тогда элемент добавится как подпункт меню Темы и ещё мы должны использовать хук network_admin_menu
. Не понимаете, что это значит? Смотрите видеоурок по хукам.
add_action( 'admin_menu', 'true_add_theme_page', 25 ); function true_add_theme_page() { add_theme_page( 'Какие-то настройки', // тайтл страницы 'Ещё страница', // текст ссылки в меню 'manage_options', // необходимые права пользователя 'truepostspage', // ярлык страницы (часть URL) 'true_display_theme_page' // функция вывода (она чуть ниже) ); } function true_display_theme_page() { echo 'Тут выводим какие-то настройки'; }
Не знаете, куда вставлять код?
Получим:
Следующий шаг – добавление на эту страницу каких-либо опций, о том, как это сделать, у меня на сайте есть отдельное руководство.