如何在Wordpress的管理侧栏中显示“帖子”?

时间:2018-10-14 21:28:59

标签: php wordpress

我正在删除侧边栏上所有我不想要的项目,我认为告诉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中而不是使用插件来执行此操作,所以请不要推荐插件!

1 个答案:

答案 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]);
    }
}