管理菜单作为另一个插件的子菜单

时间:2013-03-18 作者:fefe

我想将我新开发的插件的管理菜单添加到现有插件的子菜单中。有可能做到这一点吗?

在我的第一个插件中,我初始化菜单如下:

function add_pages() {
    // Add a new top-level menu (ill-advised):
    add_menu_page(__(\'MyMenu\',\'menu-test\'), __(\'MyMenu\',\'menu-test\'), \'manage_options\', \'menu-top-level-handle\', array ($this , \'menu_toplevel_page\' ) );

    // Add a second submenu to the custom top-level menu:
    add_submenu_page(\'menu-top-level-handle\', __(\'Test Submenu\',\'menu-test\'), __(\'Test Submenu\',\'menu-test\'), \'manage_options\', \'sub_page_test\', array($this , \'test_sublevel_page2\') );
}
第二个插件中的代码:

function admin_menu () {    
    add_submenu_page( \'menu-top-level-handle\', \'Lexikon\', \'Lexikon\', \'manage_options\', \'lexikon-edit\', array($this , \'lexikon_settings_page\') );
}
然后,我在第二个插件中尝试了以下操作,但页面重定向错误:admin.php?page=sub_page 重定向到/sub_page.

1 个回复
最合适的回答,由SO网友:brasofilo 整理而成

试图模拟这个问题,结果也是一样(wp-admin/submenu_slug), 解决方案是在挂钩中添加一个优先级值admin_menu.

在这里,我为插件添加了一个子菜单BackWPup. 注意优先级11:

add_action(\'admin_menu\', \'third_party_submenu_wpse_91377\', 11 );

function third_party_submenu_wpse_91377() 
{
    add_submenu_page(
        \'backwpup\', // Third party plugin Slug 
        \'My plugin\', 
        \'My plugin\', 
        \'delete_plugins\', 
        \'third_party_submenu\', 
        \'plugin_options_wpse_wpse_91377\'
    );
}

function plugin_options_wpse_wpse_91377() 
{ 
    echo \'<h1>OK</h1>\'; 
}
enter image description here

结束

相关推荐

WP-admin不会在Chrome和Firefox中“记住我”

当我登录到wp admin时,我会勾选“记住我”,这样下次就不必再次登录了。但是,如果我关闭wp admin选项卡,并在新选项卡中重新打开wp admin,我必须再次登录。或者,如果我浏览到另一个网站,然后返回到wp admin,我必须再次登录。这在Chrome和Firefox中都会发生。这在IE9中不会发生-在IE9中我被记住了。在wp配置中。php,“WP\\u HOME”&;\'WP\\U SITEURL\'设置为相同的值。任何