2012-07-23 245 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"); 
相關問題