Создание пунктов бокового меню для плагина на любой вкладке административной панели GetSimple осуществляется с помощью следующего кода:
add_action('xxxxxx-sidebar','createSideMenu',array('your-plugin-filename','Menu Text'));
то есть
add_action('xxxxxx-sidebar','createSideMenu',array('имя-файла-вашего-плагина','Текст пункта меню'));
Замените xxxxxx-sidebar
наименованием сайдбара, на который вы хотите вывести ссылку или пункт меню, связанный с вашим плагином, то есть - backups-sidebar
, files-sidebar
, pages-sidebar
, plugins-sidebar
, settings-sidebar
, support-sidebar
или theme-sidebar
.
(3.1+) Если вы хотите добавить для вашего плагина несколько пунктов бокового меню, используйте необязательный параметр action (действие)
:
add_action('xxxxxx-sidebar','createSideMenu',array('your-plugin-filename','Menu Text', 'my-action'));
то есть
add_action('xxxxxx-sidebar','createSideMenu',array('имя-файла-вашего-плагина','Текст пункта меню', 'мое-действие'));
Новый параметр action = my-action(мое-действие)
добавляется к ссылке, и вы имеете возможность определить, какой из пунктов меню был кликнут.
(3.1+) Если вам требуется функционал, аналогичный, например, “Edit Page” (Редактировать страницу), когда ссылка на плагин отображается на экране только в случае, если функция активна, добавьте к вызову add_action
четвертый параметр false
:
add_action('xxxxxx-sidebar','createSideMenu',array('your-plugin-filename','Show list of It', 'list')); add_action('xxxxxx-sidebar','createSideMenu',array('your-plugin-filename','Edit It', 'edit', false));
то есть
add_action('xxxxxx-sidebar','createSideMenu',array('имя-файла-вашего-плагина','Показать список', 'list')); add_action('xxxxxx-sidebar','createSideMenu',array('имя-файла-вашего-плагина','Редактировать список', 'edit', false));
При клике на созданный пункт будет вызвана функция, которую вы зарегистрировали в register_plugin()
, но если вы не определил страницу для вывода пункта меню в седьмом аргументе register_plugin()
, этот пункт исчезнет.
Таким образом, если вы добавляете пункты бокового меню на две разные вкладки, этот аргумент необходимо менять динамически (например, настройки плагина на вкладке Плагины, еще какая-то функция на вкладке Тема):
$thisfile = basename(__FILE__, ".php"); # register plugin register_plugin( $thisfile, //Plugin id 'Hello World', //Plugin name '1.0', //Plugin version 'Chris Cagle', //Plugin author 'http://www.cagintranet.com/', //author website 'Finds email addresses in content and components and "hides" them', //Plugin description @$_GET['id'] == $thisfile && @$_GET['action'] == 'setup' ? 'plugins' : 'theme', //page type - on which admin tab to display 'hello_world_show' //main function (administration) ); add_action('plugins-sidebar','createSideMenu',array($thisfile,'Setup Hello World','setup')); add_action('theme-sidebar','createSideMenu',array($thisfile,'Show Hello World','show'));
При наличии нескольких пунктов бокового меню для вашего плагина , ваша главная функция (в текущем примере это - hello_world_show) должна выглядеть примерно так:
function hello_world_show() { if (@$_GET['action'] == 'setup') { ... } else if (@$_GET['action'] == 'show') { ... } }
В версиях GetSimple 3.1+ появилась возможность добавлять собственные вкладки в административной панели с помощью следующего кода:
add_action('nav-tab','createNavTab',array('thetabname','your-plugin-filename','Tab Text', 'my-action'));
то есть
add_action('nav-tab','createNavTab',array('Имя-новой-вкладки','имя-файла-вашего-плагина','Текстовое наименование новой вкладки','мое-действие'));
Имя новой вкладки должно быть уникальным, так же, как и имя вашего плагина, например newsmanager. Имя плагина также должно использоваться при назначении типа страницы при вызове функции register_plugin()
. Параметр action не является обязательным. Затем вы можете создать боковое меню для новой вкладки.
add_action('thetabname-sidebar', ...); // e.g. 'newsmanager-sidebar'
Создавайте дополнительную вкладку в панели только если для работы вашего плагина необходимы несколько пунктов бокового меню, и вы хотите сгруппировать их в одном месте.
На главную Содержание