主菜单链接也显示在WP管理面板的子菜单上

Mas*_*ash 3 php wordpress

我在管理面板中创建了一个自定义顶级菜单,并为该菜单添加了两个子菜单.我的代码如下:

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' );
}
Run Code Online (Sandbox Code Playgroud)

我的问题是当我为上面的主菜单创建子菜单然后它给出了top menu link子菜单的位置,这意味着它给出了3 submenu include main menu link.请参阅以下链接示例输出.

http://jaskokoyn.com/2013/03/20/wordpress-admin-submenus/

但我不希望主菜单链接到子菜单.我只想要two Submenu under main menu我在代码中定义的内容.

谁能为此提供更好的解决方案?

提前致谢.

小智 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' 
);
Run Code Online (Sandbox Code Playgroud)