删除带有空格的管理菜单项

时间:2015-01-27 作者:sledgeweight

function remove_admin_menu_items() {
    $blog_id = get_current_blog_id();
    if ($blog_id == 1) {
        $remove_menu_items = array(__(\'Team Members\'),__(\'Policies\'),__(\'Comments\'));
    } else {
        $remove_menu_items = array(__(\'Services\'),__(\'Testimonials\'),__(\'About\'),__(\'Comments\'));
    }
    global $menu;
    end ($menu);
    while (prev($menu)){
        $item =  array_map( \'trim\', explode(\' \',$menu[key($menu)][0]) );
        print_r($item);


        // Array ( [0] => Events ) Array ( [0] => Services ) 
        // Array ( [0] => Team [1] => Members )

        if(in_array($item[0] != NULL?$item[0]:"" , $remove_menu_items)){
            unset($menu[key($menu)]);

        } 
    }  
}
add_action(\'admin_menu\', \'remove_admin_menu_items\');
我有一个功能,可以根据多站点上的博客删除某些菜单项。我不知道如何用空白来对付“团队成员”。在什么情况下需要保持原样以匹配字符,以及何时更改白间距。我尝试过各种修剪和数组操作,但似乎都不起作用。

在第一行中,注释掉的部分通常是菜单项使用print\\u r()输出的内容,但对于团队成员,它将按照第二行显示。

1 个回复
SO网友:cybmeta

有更可靠的功能删除WP管理区域中的菜单和子菜单。这些功能是remove_menu_pageremove_submenu_page. 我不知道您要删除的菜单是顶级菜单还是子菜单,也不是菜单的鼻涕虫(这些功能需要),因此我无法提供您所需的确切代码。

示例:remove edit.php?post_type=team (自定义帖子类型“团队”的顶级菜单),用于ID为1的博客,并删除edit-comments.php 对于其他博客:

add_action(\'admin_menu\', \'cyb_remove_admin_menu_items\');
function cyb_remove_admin_menu_items() {
    $blog_id = get_current_blog_id();
    if ($blog_id == 1) {
        remove_menu_page(\'edit.php?post_type=team\');
    } else {
       remove_menu_page(\'edit-comments.php\');
    }

}

结束

相关推荐