如何在仪表板上隐藏新闻通讯插件子菜单?

时间:2014-04-02 作者:Kimberley Furson

我想为非管理员用户隐藏仪表板中的一些子菜单。我正在使用remove_submenu_page 功能,但我没有正确使用它,因为它不工作,子菜单仍然显示。http://codex.wordpress.org/Function_Reference/remove_submenu_page

我正试图从一个名为新闻稿的插件中隐藏非管理员的子菜单:

wp管理员/管理员。php?页面=新闻稿\\u main\\u索引wp admin/admin。php?第页=新闻稿\\u main\\u main

  • wp管理员/管理员。php?页码=新闻稿\\u main\\u diagnostic(诊断)wp admin(可湿性粉剂管理)/admin(管理)。php?page=newsletter\\u subscription\\u profile这是我在函数中使用的代码。php,但我做不好:

        function ns_remove_admin_menus() {
            global $menu;
            global $current_user;
            if ($current_user->ID != 1) {
                remove_submenu_page( \'admin.php?page=\', \'newsletter_main_index\' );
                remove_submenu_page( \'admin.php\', \'newsletter_main_index\' );
            }
        }
        add_action(\'admin_init\', \'ns_remove_admin_menus\', 999 );
    
    你知道我该怎么做吗?

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

    使用操作admin_menu 而不是admin_init. 您还需要调整remove_submenu_page 要匹配新闻稿添加菜单项的方式,请执行以下操作:

    remove_submenu_page( \'newsletter_main_index\', \'newsletter_main_index\' );
    remove_submenu_page( \'newsletter_main_index\', \'newsletter_main_main\' );
    remove_submenu_page( \'newsletter_main_index\', \'newsletter_main_diagnostic\' );
    remove_submenu_page( \'newsletter_main_index\', \'newsletter_subscription_profile\' );
    

    结束

    相关推荐

    Order Admin sub-menu items?

    我正在使用向CPT管理菜单添加项目add_submenu_page 这很好,但它们被添加到CPT选项后的子菜单底部。我希望能够将它们放在最上面,但我想这个问题也可以应用于订购所有基于管理员的子菜单项。我所尝试的(不起作用,我尝试了几种变体),function custom_menu_order($menu_ord) { if (!$menu_ord) return true; return array( \'edi