在我正在工作的插件中,我有一个管理菜单项,有几个子菜单,具体取决于插件的某些功能是否启用。因此,子菜单在不同的类中声明。
声明子菜单的方式:
add_action("admin_menu", array($this,"a_function"));
function a_function(){
add_submenu_page(
"a_parent_slug", //parent slug
__("a title","a-text-domain"), //page title
__("a title","a-text-domain"), //menu title
"manage_options", //capability
"a_slug", //menu slug
array($this, "a_callback_function"), //callback
40 //position
);
}
所有的位置都声明为整数。
然而,它们在实际菜单中出现的顺序是这样的:
10- 203031325040
使用浮点数而不是整数使情况变得更糟,它们以几乎随机的顺序出现。
我错过了什么吗?还是说这是我该提醒Trac的问题?
解决方案:函数中的位置似乎不做蹲下-改变操作的优先级可以做到这一点。如:
add_action("admin_menu", array($this,"a_function"),40);
function a_function(){
add_submenu_page(
"a_parent_slug", //parent slug
__("a title","a-text-domain"), //page title
__("a title","a-text-domain"), //menu title
"manage_options", //capability
"a_slug", //menu slug
array($this, "a_callback_function"), //callback
40 //position
);
}