我正在删除侧边栏上所有我不想要的项目,我认为告诉wordpress我想要显示的内容比我不想显示的内容更容易,以便将来添加内容时默认情况下,它们不会显示在侧栏上。
我已经添加了此代码,除了我在底部的帖子和注销链接之外,其他所有内容都按应有的方式显示。谁能帮我解决这个问题?我知道我使用的是正确的子弹,所以我不确定为什么它不起作用。
add_action('admin_init', 'nwcm_admin_init');
function nwcm_admin_init()
{
if (!current_user_can('editor')) {
return;
}
$menus_to_stay = array(
'index.php',
'edit.php',
'upload.php',
'edit.php?post_type=page',
'nav-menus.php',
'post-new.php',
'admin.php?page=logout'
);
foreach ($GLOBALS['menu'] as $key => $value) {
if (!in_array($value[2], $menus_to_stay))
remove_menu_page($value[2]);
}
}
我需要在functions.php中而不是使用插件来执行此操作,所以请不要推荐插件!
答案 0 :(得分:1)
您的操作不正确,请使用admin_menu
https://codex.wordpress.org/Function_Reference/remove_menu_page
add_action('admin_menu', 'nwcm_admin_init');
function nwcm_admin_init()
{
if (!current_user_can('editor'))
return;
$menus_to_stay = array(
'index.php',
'edit.php',
'upload.php',
'edit.php?post_type=page',
'nav-menus.php',
'post-new.php',
'admin.php?page=logout'
);
foreach ($GLOBALS['menu'] as $key => $value) {
if (!in_array($value[2], $menus_to_stay))
remove_menu_page($value[2]);
}
}