X

Restringir elementos del menú Admin por nombre de usuario

Snippets by IsItWP

¿Está buscando una manera de restringir el acceso a los elementos del menú en función del nombre de usuario? Si bien es probable que haya un plugin para esto, hemos creado un fragmento de código rápido que puede utilizar para restringir los elementos del menú de administración por nombre de usuario en WordPress.

Instrucciones:

Todo lo que tienes que hacer es añadir este código al archivo functions.php de tu tema o en un plugin específico del sitio:

function remove_menus()
{
    global $menu;
    global $current_user;
    get_currentuserinfo();

    if($current_user->user_login == 'username')
    {
        $restricted = array(__('Posts'),
                            __('Media'),
                            __('Links'),
                            __('Pages'),
                            __('Comments'),
                            __('Appearance'),
                            __('Plugins'),
                            __('Users'),
                            __('Tools'),
                            __('Settings')
        );
        end ($menu);
        while (prev($menu)){
            $value = explode(' ',$menu[key($menu)][0]);
            if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
        }// end while

    }// end if
}
add_action('admin_menu', 'remove_menus');

Nota: Si es la primera vez que añade fragmentos de código en WordPress, consulte nuestra guía sobre cómo añadir correctamente fragmentos de código en WordPress, para no romper accidentalmente su sitio.

Si te ha gustado este fragmento de código, por favor, considere revisar nuestros otros artículos en el sitio como: 27 mejores temas de negocios de WordPress para su sitio web y cómo crear un formulario de donación de WordPress.

Comentarios   Deja una respuesta

  1. Hi, do you have a method to hide a specific plugin’s menu and allow others? I Need to restrict a user (DB_manager) to only be able to manage Form Database plugin and nothing else on the Admin panel.

  2. Thanks, but it doesn’t seem to work for custom post types. Any suggestions?

  3. Seen this before. Pretty useful except doesn’t seem to work with menus that include spaces such as:
    __(‘Some Menu’)
    I’ve tried a few different special characters like underscores, nonbreaking space, etc. but doesn’t seem to do the trick. Also adjusted the priority, but it seems that this function doesn’t recognize spaces in the array. Any ideas?

    1. Hi Bryan,

      You may want to use this method
      http://codex.wordpress.org/Function_Reference/remove_menu_page
      You could then use “remove_menu_page” and “remove_submenu_page”

      you could then lose the while, something like: http://pastebin.com/8ShwZ5rg
      I have not tested this but should work.

  4. This snippet is only hide menu items from screen but doesn’t restrict access by url.

  5. any way to strip out a plug in admin feature, specifically eShop, from the Dashboard Admin.

Añadir un comentario

Nos alegra que haya decidido dejar un comentario. Tenga en cuenta que todos los comentarios se moderan de acuerdo con nuestra política de privacidad , y que todos los enlaces son nofollow. NO utilice palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

WordPress Launch Checklist

La lista definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de comprobación para el lanzamiento de su próximo sitio web de WordPress en un práctico ebook.
Sí, envíeme el ¡gratuito!