Подготовка файлов для создания меню в Wordpress
Давайте начнём разработку плагина с того, что создадим пункты меню в главном меню в административной панели, которые будут отображаться. В дальнейшем, мы уже к этим пунктам меню подключим Vue routing и будем уже организовывать структуру переходов.
Сейчас же мы просто создадим это меню и его пункты, по которыми мы сможем с вами переходить. Для того, чтобы это сделать, мы можем создать директорию includes в папке с плагином.
Конечно, это один из вариантов, как вы можете это сделать. Вы можете использовать любую структуру, которая вам будет удобна. Я же показываю, один из возможных вариантов, как это можно реализовать.
Далее можно создать в этой папке файл, например, class-admin-menu.php. Это будет обычный PHP класс, который будет подгружать меню для нашего плагина.
В нём будут находиться, соответственно, класс AdminMenu. Далее здесь будет такой метод, как init. Вызывая который, мы будем создавать наше меню.
Создание пункта меню Wordpress
Это будет происходить с помощью хука. Мы создаём хук admin_menu, который будет вызывать в этом классе метод addMenu.
Давайте создадим этот метод админ меню, метод AddMenu/ Мы будем из нашего файла test-vue.php вызывать вот этот метод init. А этот метод init уже будет создавать нам меню, которое будет отображаться на нашей странице.
<?php
class AdminMenu
{
public function init()
{
add_action('admin_menu', array($this, 'addMenu'));
}
public function addMenu()
{
}
}
Для того, чтобы мы имели доступ к этому классу, мы вызываем подключаем этот класс с помощью конструкции include.
include_once("includes/class-admin-menu.php");
Теперь, соответственно, у нас появился доступ к этому файлу.
Для того, чтобы нам теперь подключить наше меню, мы создаём экземпляр класса AdminMenu и вызываем метод, который создаст нам наше меню.
$admin_menu = new AdminMenu();
$admin_menu->init();
Функция add_menu_page
Для того чтобы создать новый пункт меню, мы можем воспользоваться вот такой функцией WordPress, которая создаёт новый пункт меню в главном меню админки.
public function addMenu()
{
add_menu_page(
'TestVue',
'TestVue',
'manage_options',
'testvue-admin',
array($this, 'render'),//Функция выводит содержимое страницы
null,
2
);
}
TestVue - это название меню, которое будет отображаться для пользователя
Возможности для показа этого меню: manage_options. Это меню будет показано только, администраторам.
Придумываем какой-то уникальный slug для этого меню, то есть ярлык для этого меню. И далее вызываем метод render, который выводит содержимое страницы, который мы сейчас с вами напишем при переходе по этому меню.
Можно указать ту позицию, где вам будет угодно отобразить это меню. Я указываю двойку, что она у меня будет отображаться вторым пунктом.
В качестве метода render мы с вами отобразим ту разметку, которая должна у нас отобразить при переходе по этому пункту меню. Я буду просто отображать div с идентификатором app, который будет у нас в дальнейшем использоваться для подключения Vue приложения к этому плагину.
public function render()
{
?>
<div id="app"></div>
<?php
}
Теперь у нас, как вы видите, в меню появился новый пункт TestVue. Мы создали вот такое главное меню. Давайте на этом пока завершим и в следующем видео уже создадим подпункты для этого главного меню.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти