WordPress管理子菜单链接顺序错误



在我正在工作的插件中,我有一个管理菜单项,有几个子菜单,具体取决于插件的某些功能是否启用。因此,子菜单在不同的类中声明。

声明子菜单的方式:

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
  • 20
  • 30
  • 31
  • 32
  • 50
  • 40

使用浮点数而不是整数使情况变得更糟,它们以几乎随机的顺序出现。

我错过了什么吗?还是说这是我该提醒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
);
}

最新更新