如何隐藏WordPress管理上的菜单

时间:2014-02-13 作者:Lena Queen

我想在管理面板上隐藏一些菜单:外观、插件和工具。

如何在没有插件的情况下隐藏它?

我以后如何才能轻松地解开它们?

3 个回复
最合适的回答,由SO网友:iyrin 整理而成

你可以用remove_menu_page. 在函数中添加适当的菜单段塞。主题或插件的php。

<?php remove_menu_page( $menu_slug ) ?>

请注意,用户仍然可以使用直接链接访问这些菜单。如果要阻止用户访问菜单,则必须设置用户角色,并确保他们没有相关的capabilities.

以下是干净的WordPress安装中包含的菜单的slug示例列表。

<?php
function remove_menus(){  

  remove_menu_page( \'index.php\' );                  //Dashboard  
  remove_menu_page( \'edit.php\' );                   //Posts  
  remove_menu_page( \'upload.php\' );                 //Media  
  remove_menu_page( \'edit.php?post_type=page\' );    //Pages  
  remove_menu_page( \'edit-comments.php\' );          //Comments  
  remove_menu_page( \'themes.php\' );                 //Appearance  
  remove_menu_page( \'plugins.php\' );                //Plugins  
  remove_menu_page( \'users.php\' );                  //Users  
  remove_menu_page( \'tools.php\' );                  //Tools  
  remove_menu_page( \'options-general.php\' );        //Settings  

}  
add_action( \'admin_menu\', \'remove_menus\' );  
?>

SO网友:Soeb Safi
SO网友:sagalbot

这是来自Bill Erickson\'s Core Functionality 插件。

/**
 * Remove Menu Items
 * @since 1.0.0
 *
 * Remove unused menu items by adding them to the array.
 * See the commented list of menu items for reference.
 *
 */
function ni_remove_menus () {
    global $menu;

    // Example:
    //$restricted = array(__(\'Dashboard\'), __(\'Posts\'), __(\'Media\'), __(\'Links\'), __(\'Pages\'), __(\'Appearance\'), __(\'Tools\'), __(\'Users\'), __(\'Settings\'), __(\'Comments\'), __(\'Plugins\'));
    end ($menu);
    while (prev($menu)){
           $value = explode(\' \',$menu[key($menu)][0]);
           if(in_array($value[0] != NULL?$value[0]:"" , $restricted) {
               unset($menu[key($menu)]);
           }
    }
}
add_action( \'admin_menu\', \'ni_remove_menus\' );
取消对受限数组的注释,并包括要隐藏的菜单项。该示例包含所有供参考的菜单项。

结束

相关推荐