2013-03-25 3 views
3

Я пытаюсь создать плагин со страницей Dashboard, конфигурационной страницей, некоторыми дополнительными страницами для настройки и некоторыми настраиваемыми типами сообщений.WordPress | Добавление настраиваемого почтового меню в пользовательское меню в администраторе

Более конкретно, в администратора Я хотел бы иметь некоторые страницы, добавленные в меню с помощью функций add_menu_page и add_submenu_page, а я хотел бы создать несколько пользовательских типов почтовых связанных с плагином.

Вопрос в том, как сгруппировать меню пользовательских сообщений в меню параметров плагина.

В примере, позволяет сказать, что я создать пункт меню «MyPlugin» с функцией add_menu_page, а затем ниже этого меню я добавления страницы «Параметры страницы», «делать вещи страницу», «панель» с помощью функции add_submenu_page, а затем создаю пользовательский тип сообщения «Автомобили». Как разместить меню «Автомобили» в меню «MyPlugin»?

Окончательный результат мне нравится быть такой:

Dashboard 
    Home 
    ... 
Posts 
    All Posts 
    ... 
Settings 
    General 
    ... 
    ... 
MyPlugin    <- How to add this menu structure ? 
    Dashboard  <- How to add this menu structure ? 
    Cars    <- How to add this menu structure ? 
    Settings Page <- How to add this menu structure ? 
    Do stuff page <- How to add this menu structure ? 

Действительная проблема заключается не в том, чтобы создать структуру меню, но как добавить в меню таможенный пост типа «Автомобили» в меню MyPlugin.

Примечание Я имею попробовать следующий вариант в «register_post_type» атрибуты без везения

'show_in_menu'   => 'admin.php?page=myplugin.php' 

Это Возможное achived?

ответ

2

В вашем register_post_type, добавьте этот небольшой отрывок

"menu_position" => 100,// below second seperator 

вот места для меню позиций

2 Dashboard 
4 Separator 
5 Posts 
10 Media 
15 Links 
20 Pages 
25 Comments 
59 Separator 
60 Appearance 
65 Plugins 
70 Users 
75 Tools 
80 Settings 
99 Separator 

, если вы установите положение, чтобы быть больше, чем 100 будет продолжать добавлять их до самой нижней части меню администратора.

Я создал custom wp post type generator, вы можете увидеть положение о типе таможенного поста на правой стороне, Введите сообщение типа Name (множественное число) то при этом вы можете выбрать позицию меню, оно изменит положение, чтобы показать, где это будет выглядеть,

если у вас есть проблемы со сборкой ваша структура меню попробовать это

function myplugin_menu() { 
    add_menu_page('MyPlugin', 'MyPlugin', 'add_users', __FILE__, 'myplugin-page-name', plugins_url('MyPluginFolder/images/icon.png')); 
    add_submenu_page(__FILE__, 'Cars', 'Cars', 8, 'myplugin-cars-page', 'cars'); 
    add_submenu_page(__FILE__, 'Settings', 'Settings', 8, 'myplugin-settings-page', 'myplugin_settings_function'); 
    add_submenu_page(__FILE__, 'Do Stuff', 'Do Stuff', 8, 'myplugin-dostuff-page', 'myplugin_dostuff_function'); 
} 
add_action('admin_menu', 'myplugin_menu'); 

http://codex.wordpress.org/Function_Reference/add_menu_page

+3

На странице меню кодека: 'За $ menu_slug пожалуйста, не используйте __FILE__ это делает для уродливый URL, и является несовершеннолетним nuance.' Безопасности http://codex.wordpress.org/Function_Reference/add_submenu_page# Примечания – emc

+1

Это не позволяет настраивать тип сообщения как элемент подменю ... Есть ли способ сделать это? – Jake

+1

@Jake add_submenu_page ( 'edit.php post_type = CUSTOM_POST_TYPE?', ' СУБМЕНЮ титульный лист', ' МЕНЮ LABEL', ' ВОЗМОЖНОСТЬ', 'Подменю SLUG', ' callback_func' ); – SgtPooki

1

у меня была такая же проблема и я доказал это решение:

для страницы меню плагинов попробуйте следующее:

function my_plugin_menu(){ 
    add_menu_page( 
     'My Plugin', 
     'My Plugin', 
     'capabilities', 
     'my_plugin_index', 
     'my_plugin_function', 
     plugins_url('images/my_plugin_icon.png', __FILE__), 
     menu_position 
    ); 
// add some submenu pages 
    ... 
    ... 
} 

в вашей register_post_type функции это:

'show_in_menu' => 'my_plugin_index' // slug from your plugin menu page 

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

Смежные вопросы