Cómo ocultar el menú en el administrador de WordPress

2

Quiero ocultar algunos menús en el panel de administración: Apariencia, Complementos y Herramientas.

¿Cómo ocultarlo sin plugin?

¿Y cómo puedo des-ocultarlos más tarde fácilmente?

    
pregunta Lena Queen 13.02.2014 - 06:43

3 respuestas

3

Puede hacer esto con remove_menu_page . Agregue la barra de menú apropiada en su functions.php de su tema o su plugin.

<?php remove_menu_page( $menu_slug ) ?>

Tenga en cuenta que los usuarios todavía pueden acceder a estos menús mediante un enlace directo. Si pretende bloquear el acceso de un usuario a un menú, deberá configurar un rol de usuario y asegurarse de que no tenga el capacidades .

Aquí hay una lista de ejemplos de slug para los menús incluidos en una instalación de WordPress limpia.

<?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' );  
?>
    
respondido por el iyrin 13.02.2014 - 07:22
0

Esta es una buena parte del código del funcionalidad principal de Bill Erickson .

/**
 * 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' );

Descomente la matriz restringida e incluya los elementos de menú que desea ocultar. El ejemplo contiene todos los elementos del menú para referencia.

    
respondido por el sagalbot 13.02.2014 - 07:58

Lea otras preguntas en las etiquetas