问题描述
我正在开发一个插件,我必须以部分的方式发布。
问题是,如果页面中有一个菜单,然后将新插件添加到第二个或另一个子菜单,否则添加一个新菜单,然后将插件添加到第 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。