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

wp-admin-menu

Простой пример: Добавление меню верхнего уровня

Если вы хотите добавить новое меню в админ области, используйте add_menu_page() функцию для создания меню (и страницы).

Этот пример добавляет новое меню и страницу в админке.

Для этого примера, создадим плагин под названием My Toolset.

Шаг 1: Создайте функцию для постройки меню

Анализ функции:

$page_title = ‘My Page’
Заголовок страницы.
$menu_title = ‘My Title’
Это название, которое будет отображаться в меню
$capability = ‘manage_options’
Это для безопасности. Только пользователи с manage_options смогут увидеть эту страницу меню.
$menu_slug = ‘my-page’
Это уникальное имя используемое WordPress, чтобы обратиться к этой странице меню. Если используете классы, то передавайте это в виде массива ($this, ‘functionname’ ). Заметка:  также можно вызвать файл как и в ‘myplugin/myplugin-admin.php’.
$function = ‘my_admin_page_function’
Имя функции, вызываемой для отображения страницы меню. Заметка: Если slug ссылается на имя файла,то callback может быть пустым.
$icon_url = plugin_dir_url( __FILE__ ).’icons/my_icon.png’
Файл иконки, которая отображается в меню для этой страницы.
$position = ‘23.56’
Это положение меню в иерархии. Если пропущено, то ваш пункт меню появится в нижней части структуры меню.

Шаг 2: Зарегистрируйте функцию для постройки меню

Используйте admin_menu хук для регистрации вашей функции:

Этот небольшой фрагмент должен идти сразу после вашей полной функции, или прямо перед ней.

Шаг 3а: Создание страницы, используя функцию

Функция выше, показывает, что есть callback-функция называемая my_admin_page_function. Таким образом, мы создадим эту функцию с содержанием вроде этого:

Примечание: рекомендуется всегда использовать DIV с классом «wrap» и заголовок Н2 в верхней части страницы.

Шаг 3б: Создание страницы, используя имя файла

Если функция вызывает файл вместо slug, то callback-функция может быть пуста, как здесь:

Затем вы можете просто создать этот файл в папке плагина и записать что-то вроде этого в него:

Навигация по разделам:

2 комментария

  1. Саня

    Привет, а почему здесь позиция положения меню в иерархии указана дробная (23.56) ?

    Ответить
    • Eugene Kopich

      Это чтобы избежать конфликтов с другими объектами меню. В документации указывается, что если позиции будут одинаковы, одно из меню не будет показываться, а так уменьшается вероятность такого совпадения

      Ответить

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *