我在管理面板中创建了一个自定义顶级菜单,并为该菜单添加了两个子菜单。我的代码如下:
add_action('admin_menu', 'my_create_menu');
function my_create_menu() {
add_menu_page('My custom menu', 'My custom menu Settings', 'manage_options', __FILE__, 'my_custom_menu',plugins_url('assets/images/test.png', __FILE__));
add_submenu_page( __FILE__ , 'My custom submenu-1', 'My custom submenu-1', 'manage_options', 'sub-suge', 'my_custom_submenu_1');
add_submenu_page( __FILE__ , 'My custom submenu-2', 'My custom submenu-2', 'manage_options', 'sub-page', 'my_custom_submenu_2');
add_action( 'admin_init', 'my_custom_menu' );
}
我的问题是,当我为上面的主菜单创建子菜单时,它会在子菜单的位置给出top menu link
,这意味着它会给出3 submenu include main menu link
。请参阅以下链接示例输出。
http://jaskokoyn.com/2013/03/20/wordpress-admin-submenus/
但我不希望主菜单链接进入子菜单。我只想要two Submenu under main menu
我在代码中定义的内容。
任何人都可以为此提供更好的解决方案吗?
提前致谢。
答案 0 :(得分:5)
您可以通过为顶级页面(add_menu_page()
调用)提供与第一个子菜单页面相同的slug来实现此目的。然后在add_submenu_page()
次调用的第一个参数中引用此slug。
以下是代码:
add_menu_page(
'My custom menu Settings',
'My custom menu Settings',
'manage_options',
'sub-suge',
'my_custom_menu',
plugins_url( 'assets/images/test.png', __FILE__ )
);
add_submenu_page(
'sub-suge' ,
'My custom submenu-1',
'My custom submenu-1',
'manage_options',
'sub-suge',
'my_custom_submenu_1'
);
add_submenu_page(
'sub-suge' ,
'My custom submenu-2',
'My custom submenu-2',
'manage_options',
'sub-page',
'my_custom_submenu_2'
);