Лекция
Привет, Вы узнаете о том , что такое административные меню, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое административные меню, добавление административных меню , настоятельно рекомендую прочитать все из категории Системы управления контентом CMS.
Многие плагины создают своим пользователям опции и настройки, которые позволяют настроить плагин. Как у автора плагина, у Вас есть несколько вариантов для реализации этой возможности. Одна из них - дать пользователю возможность редактировать код PHP, но это будет для большинства пользователей неудобно. Более привычный вариант - создать специальную страницу в административной части для управления определенными опциями плагина.
Эта статья объясняет как добавить собственное административное меню в WordPress. Это предполагает что вы уже знакомы с основами Написание плагина и Plugin API действий и фильтров.
Первый шаг в создании собственного административного меню — определить, к какому системному меню WordPress оно относится. Большинство плагинов добавляют свои меню в существующий верхний уровень меню WordPress. Вот руководство, что принадлежит к каждому меню верхнего уровня:
Settings / Настройки
Отобажение настроек плагина которые доступны только администратору (также смотрите Создание страниц настройки).
Manage
Отображение управления ссылками, записями, категориями, изображениями, etc.
Plugins / Плагины
Установка/удаление, включение/выключение и редактирование плагинов.
Presentation / Внешний Вид
Управление темами/стилями файлов, боковой панелью, etc.
Write / Записи
Создание контента (записей и страниц).
Users / Пользователи
Управление пользователями.
Если ваш плагин вводит совершенно новое понятие или функцию для WordPress и нуждается в большем колличестве экранов, чтобы это сделать, для вашего плагина возможен вариант создания нового меню верхнего уровня. Это следует рассматривать только если вам действительно нужно несколько связанных экранов, чтобы сделать в WordPress к чему он изначально не предназначен. Примеры могут включать управление галерей изображений, администрирование баз данных, или управление конференцией.
С плагином Custom Admin Menu пользователи также имеют возможность сами решать, должен ли ваш плагин занять меню верхнего уровня или нет — вы можете дать понять пользователям, что они имеют такую возможность, особенно если вы решили создать меню верхнего уровня.
После добавления меню в административную панель будет так:

Теперь когда вы решили куда будете добавлять административное меню/подменю, следующий шаг расказать WordPress о новых страницах. Для этого нужно создать функцию, которую следует привязать к действию 'admin_menu' (пример приведен в конце раздела).
Первое, что вам нужно сделать, это создать меню верхнего уровня, если вы решили, что вашему плагину оно действительно нужно. Об этом говорит сайт https://intellect.icu . Вы будете использовать функцию add_menu_page:
add_menu_page(page_title, menu_title, access_level/capability, file, [function]);
Значения параметров:
page_title- Текст, который войдет в заголовок HTML-страницы для страницы, когда меню активно.
menu_title- Текст имени на экране для меню.
access_level/capability - Минимальный уровень пользователя или возможности, необходимые для отображения и использования этой страницы меню.
file - Файл PHP, который обрабатывает отображение содержимого страницы меню.
function -Функция, которая отображает содержимое страницы для страницы меню
Технически параметр функции является необязательным, но если он не указан, WordPress будет в основном предполагать, что включение файла PHP приведет к созданию экрана администрирования без вызова функции. Большинство авторов плагинов предпочитают помещать генерирующий страницу код в функцию в своем основном файле плагина.
После того, как вы определили меню верхнего уровня или решили использовать существующее меню верхнего уровня WordPress, вы готовы определить одну или несколько страниц подменю с помощью функции add_submenu_page. Убедитесь, что вы добавили страницы подменю в том порядке, в котором они должны отображаться.
add_submenu_page(parent, page_title, menu_title, access_level/capability, file, [function]);
Значения параметров:
parent - Имя файла основного административного файла WordPress, который предоставляет меню верхнего уровня, в которое вы хотите вставить свое подменю, или файл вашего плагина, если это подменю переходит в настраиваемое меню верхнего уровня. (Примеры: index.php, post.php, edit.php, themes.php, plugins.php и т. Д.)
page_title - Текст, который войдет в заголовок HTML-страницы для страницы, когда подменю активно.
menu_title - Текст имени на экране для подменю.
access_level/capability- Минимальный уровень пользователя или возможности, необходимые для отображения и использования этой страницы подменю в административной панеле.
file -Для существующих меню WordPress - файл PHP, который обрабатывает отображение содержимого страницы меню. Для подменю настраиваемого меню верхнего уровня - уникальный идентификатор страницы подменю.
В ситуациях, когда плагин создает собственное меню верхнего уровня, первое подменю обычно имеет тот же заголовок ссылки, что и меню верхнего уровня, и, следовательно, ссылка будет дублироваться. Повторяющегося заголовка ссылки можно избежать, вызвав функцию add_submenu_page с одинаковыми значениями для параметров родительского элемента и файла
function - Функция, которая отображает содержимое страницы для страницы меню.
Технически, как и в функции add_menu_page, параметр функции является необязательным, но если он не указан, WordPress будет в основном предполагать, что включение файла PHP приведет к созданию экрана администрирования без вызова функции. Большинство авторов плагинов предпочитают помещать генерирующий страницу код в функцию в своем основном файле плагина.
Вот быстрый пример, показывающий, как вставить страницу меню верхнего уровня и страницу подменю, где заголовок на странице подменю отличается от страницы верхнего уровня. В этом примере my_magic_function - это имя функции, которая отображает первую страницу подменю:
add_menu_page('Page title', 'Top-level menu title', 8, __FILE__, 'my_magic_function');
add_submenu_page(__FILE__, 'Page title', 'Sub-menu title', 8, __FILE__, 'my_magic_function');
Поскольку большинство подменю входят в меню «Параметры», «Управление» или «Презентация» WordPress, WordPress предоставляет три функции-оболочки, которые упрощают добавление подменю на эти страницы:
Для меню верхнего уровня "Параметры" (подробнее см. Создание страниц параметров)
add_options_page(page_title, menu_title, access_level/capability, file, [function]);
Для админпанели
add_management_page(page_title, menu_title, access_level/capability, file, [function]);
Для презентации
add_theme_page( page_title, menu_title, access_level/capability, file, [function]);
Вот пример плагина WordPress, который вставляет новые меню в разные места:


В приведенном выше примере содержится несколько фиктивных функций, таких как mt_options_page, в качестве заполнителей для фактического содержимого страницы. Нам нужно превратить их в настоящие страницы меню. Итак, предположим, что у нашего плагина есть опция под названием mt_favorite_food, и что мы хотим разрешить владельцу сайта вводить его / ее любимую еду на странице опций плагина. Функция mt_options_page должна будет разместить форму ввода данных на экране, чтобы включить это, а также обработать введенные данные. Вот функция, которая делает это:



Исследование, описанное в статье про административные меню, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое административные меню, добавление административных меню и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Системы управления контентом CMS
Из статьи мы узнали кратко, но содержательно про административные меню
Комментарии