Создание меню/подменю в административной панели WordPress

747

Умение правильно создавать меню и подменю необходимо каждому пользователь, кто осваивает WordPress API. Связано это с тем, что именно они занимают одно из самых важных мест в построении функциональности тем и плагинов. Благодаря описанным ниже рекомендациям каждый пользователь сможет разобраться в главных тонкостях создания меню, открыв полный доступ к опциям темы, а не так как было ранее – только из меню «Appearance».
wordpress-rest-apI

Краткий взгляд на API

На этом этапе нам предстоит научиться:

  • Создавать для опций меню верхнего уровня;
  • Добавлять подменю для закладок «Опции социальных сетей»;
  • Добавлять подменю для закладок «Опции отображения».

Для реализации намеченных планов пользователю понадобятся всего 2 команды: add_menu_page (создание и настройка меню), а также add_submenu_page (создание подменю).

Меню верхнего уровня

Изначально необходимо разработать меню, которое будет отображаться в административной панели системы, после пункта «Настройки», он выполняет 2 главные задачи:

  • Отображает доступные опции темы;
  • Показывает заданный по умолчанию раздел настроек.

Функция может принять 7 аргументов, первые 5 обязательные: Page_title, Capability, Menu_title, Menu_slug, Function_name, Position и Icon_url. Вся дальнейшая работа будет основана именно на 5 первых аргументах.

Вызов функции задает команда add_menu_page. Следуя установленным в WordPress Codex правилам, добавить пункты меню в саму панель управления можно через хук admin_menu. С предыдущих материалов пользователь должен быть знаком со всеми техническими нюансами команды sandbox_example_theme_menu, которая позволяет добавить нужный пункт темы в среду «Внешний вид».

Добавление подменю

Техника добавления подменю практически аналогична с добавлением обычного меню, за исключением одного нюанса – подменю будет принадлежать созданному ранее главному меню. В этом случае функция может принять 6 аргументов, 5 из которых главные: Page_title, Parent_slug, Menu_title, Capability, Menu_slug и Function_name. Сама функция отличается элементарным принципом работы. Пользователю необходимо создать всего 2 подпункта – это «Опции социальных сетей» и «Опции отображений».

Опции отображений

Все указываемые параметры должны быть правильно распределены, исключением может быть function_name, который указывается в последнюю очередь. Также стоит заметить, что само значение полностью совпадает с тем, которое указывается для add_menu_page.
Ключевая особенность WordPress API в том, что после добавления первого подпункта меню, сам WordPress будет отображать уже 2 подпункта. Один, из которых будет привязан к созданному ранее подпункту, а вот второй будет дублировать все функции пункта главного меню.

Опции социальных сетей

Все этапы добавления пункта меню опций социальных сетей очень схожи с действиями, которые используются при создании пункта опций отображения. Пользователю нужно всего лишь заменить значение заголовка, а также название пункта страницы и меню с помощью опции add_submenu_page.
Остается сохранить все внесенные изменения и обновить окно панели управления. В завершении проделанной работы на мониторе в меню «Тема Sandbox» отобразится подпункт – «Опции социальных сетей».

Переработка функционала закладок

Специалисты рекомендуют использовать краткое руководство по настройке и привязке к закладке пункта подменю, выбрав один из пунктов:
1. Пользователь может переопределить уже существующую опцию sandbox_theme_display на прием опциональных параметров и уже после этого использовать анонимную функцию, перенаправив на add_submenu_page все необходимые параметры;
2. Объявляем новую функцию, которая будет в дальнейшем выводить опции соц. сетей. Но этот пункт требует дополнительных настроек со стороны пользователя: настройка закладок без ущерба для пользовательского интерфейса, контролируя размер кода.
Переопределить функцию поможет опция sandbox_theme_display.

В завершении можно подвести итог, что правильно настроенная система меню позволяет существенно улучшить работу всей системы. Ввиду того, что не существует полностью правильного или неправильного метода создания меню, вся ответственность ложится на самого пользователя. Самое главное быть внимательным в размещении каждого пункта, тогда и хороший результат не заставит себя ждать.