Ocultar menús según el tipo de usuario

gato-escondido

Quizás una de las cuestiones más demandadas en sitios web profesionales que quieren ofrecer una experiencia diferente a los usuarios registrados es poder ocultar o mostrar menús según el perfil de usuario.

Afortunadamente esto es muy fácil de lograr, y tenemos varios plugins que hacen de esta tarea algo realmente trivial, además de muy útil.

  • Nave menu roles: Permite decidir qué perfiles de usuario verán o no verán cada uno de los elementos de los menús que añadas.
    captura de la configuración del plugin nav menu roles
  • if menu: Otro gran plugin, y también muy fácil de utilizar, para ocultar menús a los perfiles de usuario que definas en los ajustes de cada elemento de menú.
    captura de la configuración del plugin if menu
  • Menus items visibility control: También permite lo mismo que los anteriores pero en este caso de manera menos sencilla pero quizás más flexible, pues añade a los ajustes de cada elemento de menú una caja donde introducir la función condicional que queramos aplicar.
    captura de la configuración del plugin menu item visibility control
  • Custom menu filter plugin: Otro plugin más para ocultar elementos de menú usando funciones de WordPress, algo más antiguo que los anteriores.
  • Sin plugin también puedes ocultar elementos de menú. En este caso primero creas una nueva clase CSS en la hoja de estilos, así:
    #nav li.menu-registrados {
    	display: none;
    } 
     
    body.logged-in #nav li.menu-registrados {
    	display: list-item;
    }

    A continuación, al añadir un nuevo elemento de menú, en sus ajustes puedes especificar una clase CSS si antes has activado que se vea esta opción en los ajustes de pantalla de la ventana de gestión de menús (en Apariencia -> Menús), así que indicas la que has creado a los elementos que quieras que solo se muestren a usuarios registrados. Es simple pero efectivo, y sin plugins.

Como ves por opciones que no quede, es sencillo y una funcionalidad muy interesante para usos de WordPress como portal con distinta oferta según el tipo de usuario, animando de este modo al registro.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(11 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

9 comentarios en “Ocultar menús según el tipo de usuario”

  1. Karlos Kaplan

    Hola Fernando,
    ¿Sabes si hay alguna forma de ocultar contenidos en la librería multimedia de WordPress? concretando más… ¿es posible que un usuario sólo vea los archivos que él ha subido?
    Gracias de antemano! Un saludo

      1. Esto, en ‘functions.php’

        add_action(‘pre_get_posts’,’ml_restrict_media_library’);

        function ml_restrict_media_library( $wp_query_obj ) {

        global $current_user, $pagenow;

        if( !is_a( $current_user, ‘WP_User’) )

        return;

        if( ‘admin-ajax.php’ != $pagenow || $_REQUEST[‘action’] != ‘query-attachments’ )

        return;

        if( !current_user_can(‘manage_media_library’) )

        $wp_query_obj->set(‘author’, $current_user->ID );

        return;

        }

  2. Xavier Ocampos

    Aunque ya tiene tiempo el post – y por cierto también hace tiempo que no escribo nada – déjame decirte que me has salvado la vida una vez más jajaja ¡gracias! como mencionaba en la entrada que publique hace tiempo trabajaba en una empresa donde manejábamos servidores Windows pero actualmente he iniciado mi propio negocio de diseño, desarrollo y alojamiento web con un compañero y ahora sí estoy trabajando por completo en WordPress (salvo excepciones contadas, claro esta, en las que necesiten plataformas como Moodle).

    Estaba desarrollando una estructura para una pagina escolar y precisamente necesitaba ocultar ciertos elementos del menú para limitar el acceso, como el calendario de Eventos (que por cierto estoy utilizando el plugin EventOn, una maravilla de plugin déjame decir, es profesional pero vale sobradamente los 25$ que cuesta, recomendado 100%)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido