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()输出的内容,但对于团队成员,它将按照第二行显示。
SO网友:cybmeta
有更可靠的功能删除WP管理区域中的菜单和子菜单。这些功能是remove_menu_page 和remove_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\');
}
}