2012-07-23 170 views
6

在我创建的wordpress插件中,它使用子菜单页创建了一个新的顶级管理菜单。这是我的代码:Wordpress将子菜单添加到自定义菜单

add_menu_page('Eastview Custom', 'Eastview Custom', 5,"eastview-custom"); 
add_submenu_page("eastview-custom","GLS Lunch Orders","GLS Lunch",5,'glsLunch','glsLunch'); 

所以这段代码创建了一个新的管理菜单“Eastview Custom”。然后添加两个子链接:“Eastview Custom”和“GLS Lunch”。问题是我不希望“Eastview Custom”作为子链接。我希望唯一的子链接是“GLS午餐”。我无法弄清楚如何做到这一点。谢谢你的帮助!

回答

8

根据食品法典委员会

在一个插件创建其自己的顶级菜单的情况下,第一子通常会具有相同的链接标题作为顶级菜单,因此该链接会复制。第一次使用parent_slug和menu_slug参数赋予相同的值时,可以通过调用add_submenu_page函数来避免重复的链接标题。

,你可以在这个页面在这里上看到:http://codex.wordpress.org/Adding_Administration_Menus#Sub-Menus

所以根据食品法典委员会,你应该能够有类似下面的(请注意,我已经更换了你的用户级别的参数与功能,因为他们已弃用,并将其全部标准化为单引号);

add_menu_page('Eastview Custom', 'Eastview Custom', 'manage_options', 'my-top-level-handle'); 
add_submenu_page('my-top-level-handle', 'GLS Lunch Orders', 'GLS Lunch', 'manage_options', 'my-top-level-handle'); 

现在你会认为这将基于食典 - 它不会。它不会仅仅因为它们中的一个而显示任何子菜单项目。如果你添加另一个项目,你会看到这个工程,即;

add_menu_page('Eastview Custom', 'Eastview Custom', 'manage_options', 'my-top-level-handle'); 
add_submenu_page('my-top-level-handle', 'GLS Lunch Orders', 'GLS Lunch', 'manage_options', 'my-top-level-handle'); 
add_submenu_page('my-top-level-handle', 'New Item', 'New item', 'manage_options', 'new-handle'); 

希望这有助于一点,羞愧我找不到单个列表项的答案!

+0

好的,谢谢。对不起,我没有回复。没关系 - 在我使用的网站上,会有多个子菜单页面。我只是想知道如何删除重复的链接。谢谢! – Abraham 2012-07-23 19:32:08

+0

没有麻烦 - 那很方便,问题解决了! :) – McNab 2012-07-23 19:46:51

+1

伟大的工作对我来说!,我很难在Wordpress文档中寻找。谢谢。 – 2014-02-07 16:28:29

0

另一种方法是,您可以删除子菜单后创建主菜单

add_menu_page('Eastview Custom', 'Eastview Custom', 5,"eastview-custom"); 
add_submenu_page("eastview-custom","GLS Lunch Orders","GLS Lunch",5,'glsLunch','glsLunch'); 
remove_submenu_page("eastview-custom", "eastview-custom");