首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WordPress \\在管理中的自定义菜单下添加自定义post菜单

WordPress \\在管理中的自定义菜单下添加自定义post菜单
EN

Stack Overflow用户
提问于 2013-03-25 09:41:01
回答 2查看 14.4K关注 0票数 3

我正在尝试创建一个插件,包括仪表板页面、配置页面、一些额外的配置页面和一些自定义的post类型。

更具体地说,在管理中,我喜欢通过函数add_menu_page和add_menu_page在菜单中添加一些页面,我也喜欢创建一些与插件相关的自定义post类型。

问题是,如何将定制的post类型菜单分组到插件菜单选项下。

例如,假设我使用函数add_submenu_page创建菜单选项"MyPlugin“,然后在该菜单下面添加页面”设置页“、”做事情页“、”仪表板“,然后创建定制的post类型"Cars”。如何将“汽车”菜单放在MyPlugin菜单选项下?

我喜欢的最后结果是:

代码语言:javascript
复制
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菜单下添加"Cars“自定义post类型菜单。

注意,我在"register_post_type“属性中尝试了以下选项,但没有运气

代码语言:javascript
复制
'show_in_menu'          =>  'admin.php?page=myplugin.php'

这能实现吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-28 10:12:38

在您的register_post_type中,添加以下小片段

代码语言:javascript
复制
"menu_position" => 100,// below second seperator

以下是菜单位置的位置

代码语言:javascript
复制
 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,它将继续将它们添加到管理菜单的最底部。

我创建了一个自定义的wp post类型生成器(站点已消失),您可以在右侧看到自定义post类型上的位置,输入post类型名称(复数),然后在此下面您可以选择菜单位置,它将更改位置以显示出现位置,

如果您在构建菜单结构时遇到问题,请尝试如下

代码语言:javascript
复制
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');

page

票数 4
EN

Stack Overflow用户

发布于 2014-05-29 15:49:48

我也遇到了同样的问题,我证明了这个解决方案:

对于插件菜单页面,请尝试如下:

代码语言:javascript
复制
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函数中:

代码语言:javascript
复制
'show_in_menu' => 'my_plugin_index' // slug from your plugin menu page

这将显示您选择的位置的菜单页,并作为子菜单显示自定义post类型。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15611719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档