問題描述
我正在開發一個外掛,我必須以部分的方式釋出。
問題是,如果頁面中有一個選單,然後將新外掛新增到第二個或另一個子選單,否則新增一個新選單,然後將外掛新增到第 1 個子選單。
我的問題:
-
如何檢查是否存在選單?
-
如果我正在編寫一個可重用的函式,那麼每個外掛都會出現這種情況,從而導致衝突選項。
-
我不知道外掛釋出的順序。
add_menu_page(
'Page Title',
'Top Menu Title',
'manage_options',
'my_unique_slug',
'my_magic_function'
);
add_submenu_page(
'my_unique_slug',
'page title',
'submenu title',
'manage_options',
'my_submenu_slug',
'my_magic_function_of_submenu'
);
最佳解決方案
您可以使用 add_menu_page()(my_unique_slug) 的第四個引數來檢查頁面是否存在:
if ( empty ( $GLOBALS['admin_page_hooks']['my_unique_slug'] ) )
add_menu_page(
'Page Title',
'Top Menu Title',
'manage_options',
'my_unique_slug',
'my_magic_function'
);
$GLOBALS['admin_page_hooks']是註冊頁面的列表。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。