Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Создание плагинов WordPress. Функция add_submenu_page

Создание плагинов WordPress

Более общую информацию о работе с меню в админчасти WordPress вы можете получить в статье "Добавление в административное меню". Здесь же описывается функция add_submenu_page, которая используется для добавления пунктов в подменю. Вот пример ее использования:

<?php
add_submenu_page($parent_slug, $page_title, $menu_title,
                 $capability, $menu_slug, $function);
?>

Она принимает следующие параметры:

parent_slug

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

Примеры:

  1. для панели инструментов: add_submenu_page('index.php',...);
  2. для управления постами: add_submenu_page('edit.php',...);
  3. для загрузки медиа: add_submenu_page('upload.php',...);
  4. для управления ссылками: add_submenu_page('link-manager.php',...);
  5. для управления страницами: add_submenu_page('edit.php?post_type=page',...);
  6. для управления комментариями: add_submenu_page('edit-comments.php',...);
  7. для управления внешним видом страниц: add_submenu_page('themes.php',...);
  8. для управления плагинами: add_submenu_page('plugins.php',...);
  9. для управления пользователями: add_submenu_page('users.php',...);
  10. для прочего инструментария: add_submenu_page('tools.php',...);
  11. для управления настройками: add_submenu_page('options-general.php',...).
page_title

Текст пункта меню, который будет показан в заголовке HTML-страницы при выборе пункта подменю.

menu_title

Название создаваемого пункта подменю.

capability

Название права доступа, которым должен обладать пользователь, чтобы видеть создаваемый пункт меню. Ранее используемый для этого "уровень доступа" является теперь нерекомендованным, поэтому не используйте его здесь!

menu_slug

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

В ситуации, когда плагин создает собственное меню верхнего уровня, первый пункт подменю имеет, как правило, ту же самую ссылку, что и родительский пункт меню, поэтому нужно дублировать эту ссылку. Для этого при первом (после создания родителя) вызове функции add_submenu_page параметр "parent_slug" следует устанавливать в значение "menu_slug" родителя.

function

Функция, отвечающая за показ контента страницы для создаваемого пункта меню.

Этот параметр является опциональным. Если его не указать, то функция вызываться не будет. В этом случае с помощью инструкции "include" будет подключен скрипт PHP, который должен сгенерировать соответствующую страницу и указанный в параметре "menu_slug". Однако большинство авторов плагинов предпочитают заключать код генерации страницы в функцию, которую описывают в главном файле своего плагина.

Пример

Приведем небольшой пример, иллюстрирующий, как создавать пункт меню верхнего уровня и к нему подменю. Заголовок страницы, открываемой из подменю, будет отличен от заголовка страницы верхнего уровня. Строка "my_magic_function" в этом примере, — это название функции, которая будет отображать страницу для первого пункта подменю.

<?php
add_menu_page('Page title', 'Заголовок меню верхнего уровня',
              'manage_options', 'my-top-level-handle', 'my_magic_function');
add_submenu_page('my-top-level-handle', 'Заголовок страницы',
                 'Название пункта подменю', 'manage_options',
                 'my-submenu-handle', 'my_magic_function');
?>

24.01.2011


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2011-01-24 10:03:39

Метки материала: wordpress, add_submenu_page, создание плагинов, функция add_submenu_page, создание плагинов wordpress


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

26.01.2011 06:44:00 #
Mozilla Firefox dima
Рад, что помогло Well
25.01.2011 07:31:20 #
Opera Гость Николай
Отличная статья! Как раз занимаюсь разработкой плагина с админ. частью.

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.