Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Cómo añadir lógica condicional a los menús en WordPress

Nota editorial: Ganamos una comisión de los enlaces de socios en WPBeginner. Las comisiones no afectan a las opiniones o evaluaciones de nuestros editores. Más información sobre Proceso editorial.

¿Quieres mostrar diferentes elementos del menú de navegación para diferentes páginas en WordPress? ¿O mostrar un menú diferente para los usuarios conectados?

WordPress le permite mostrar un menú de navegación en una ubicación específica en su tema, pero por defecto, siempre mostrará el mismo menú.

En este artículo, le mostraremos cómo añadir lógica condicional a los menús en WordPress.

How to Add Conditional Logic to Menus in WordPress

¿Por qué añadir lógica condicional a los menús de WordPress?

Los menús de navegación estructuran su sitio web WordPress y ayudan a los visitantes a encontrar lo que buscan. Por defecto, su sitio web WordPress mostrará el mismo menú de navegación a todos los usuarios y en todas las entradas y páginas.

Sin embargo, puede haber ocasiones en las que desee mostrar diferentes menús a diferentes usuarios, o en diferentes páginas de su sitio web.

Sitios web como una tienda en línea, una comunidad de sitios de membresía en WordPress o una plataforma de aprendizaje en línea pueden beneficiarse de menús de navegación personalizados.

Utilizando la lógica condicional, puede añadir elementos / artículos adicionales en el menú para que los usuarios conectados puedan gestionar sus cuentas, renovar sus suscripciones o ver los cursos en línea que han comprado. Puedes pensar en ello como un control de acceso al menú de WordPress.

Dicho esto, echemos un vistazo a cómo añadir lógica condicional a los menús en WordPress. Aquí están los debates que vamos a cubrir en este tutorial:

Crear nuevos menús de navegación en WordPress

El primer paso es crear los menús de navegación adicionales que desea mostrar en WordPress. Después de eso, puede utilizar la lógica condicional para decidir cuándo se mostrará cada menú.

Simplemente diríjase a la página Apariencia ” Menús en el escritorio de WordPress. Si ya tienes un menú de navegación que utilizas en tu sitio web para todos los usuarios, este puede ser tu menú por defecto.

Main menu

A continuación, tienes que enlazar el enlace “crear un nuevo menú” para crear un nuevo menú. Por ejemplo, puede crear un menú para mostrarlo a los usuarios conectados y otro para mostrarlo en una determinada página o categoría de WordPress.

En la parte izquierda de la pantalla puede ver un anuncio / catálogo / páginas de su sitio web. Simplemente marque / compruebe la casilla siguiente a cualquier página que desee añadir a su menú y haga clic en el botón “Añadir al menú”.

Logged in menu

También puede arrastrar y soltar los elementos del menú en la parte derecha de la pantalla para reorganizarlos.

Más abajo en la página, puede elegir una ubicación para mostrar su menú. Pero, no necesita asignar una ubicación a este menú ahora. Lo haremos en el siguiente paso.

No olvides hacer clic en el botón “Guardar menú” para guardar los cambios.

Para más detalles sobre la creación de menús, puede echar un vistazo a nuestra guía para principiantes sobre cómo añadir un menú de navegación en WordPress.

Mostrar un menú diferente a los usuarios conectados en WordPress

A menudo resulta útil mostrar diferentes menús de navegación a los usuarios en función de si han accedido a su sitio o no.

Por ejemplo, puede incluir enlaces de acceso y registro para los usuarios desconectados y añadir un enlace de salida al menú para los conectados.

O si usted está ejecutando una tienda de WooCommerce, entonces usted podría incluir elementos para sus clientes que se ocultan al público en general.

En primer lugar, debe instalar y activar el plugin Conditional Menus. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.

Una vez activado, debe visitar la página Apariencia ” Menús y cambiar a la pestaña “Gestionar ubicaciones”.

Manage menu locations

Desde aquí, verá la lista de ubicaciones de menú disponibles y los menús que se muestran actualmente. Estos variarán dependiendo del tema de WordPress que esté utilizando.

Por ejemplo, en nuestro sitio web de demostración, se muestra que nuestra ubicación del menú principal está mostrando un menú de navegación titulado “Menú principal”.

Podemos decirle al plugin que muestre un menú diferente cuando se cumpla una determinada condición enlazando el enlace ‘+ Menú Condicional’ y seleccionando otro menú del desplegable. Para este tutorial, seleccionaremos ‘Menú conectado’.

Select logged in menu

A continuación, deberá enlazar el enlace “+ Condiciones”.

Aparecerá una ventana emergente en la que podrás elegir entre varias condiciones.

Select logged in user aa the condition

Sólo tiene que marcar la casilla situada junto a la opción “Usuario conectado” y, a continuación, hacer clic en el botón “Guardar”.

Ahora puede visitar su sitio web para ver en acción el menú del usuario conectado. Puede salir de su sitio web para ver el menú de navegación que se muestra a todos los demás usuarios.

Different menu for logged in users

Para obtener instrucciones más detalladas y aprender a hacer esto utilizando código, eche un vistazo a nuestra guía sobre cómo mostrar diferentes menús a los usuarios conectados en WordPress.

Mostrar un menú de WordPress diferente dependiendo del perfil del usuario

Una vez que un usuario ha accedido, también puede mostrar un menú de navegación diferente en función del perfil de usuario que le haya asignado.

Por ejemplo, podría incluir elementos de menú adicionales para un administrador y elementos más limitados para un colaborador. O en un sitio de membresía, podría conceder diferentes niveles de acceso a los distintos niveles de membresía.

Como en la sección anterior, necesita instalar y activar el plugin de Menús Condicionales, luego visite la página Apariencia ” Menús y cambie a la pestaña ‘Gestionar Ubicaciones’.

Select the Conditional Menu

Debe añadir el menú condicional apropiado para el perfil de usuario que vaya a seleccionar. Para este tutorial, hemos seleccionado el menú ‘Nav Menu Administrator’.

A continuación, deberá enlazar el enlace “+ Condiciones” para poder elegir el perfil de usuario.

Select the Roles That Should See the Menu

Deberá hacer clic en la pestaña “Funciones de usuario” para ver las casillas de verificación de cada función de usuario de su sitio web. Simplemente haga clic en los perfiles de usuario que verán este menú, y luego haga clic en el botón ‘Guardar’.

Mostrar un menú diferente para diferentes páginas en WordPress

Puede mostrar un menú diferente para diferentes páginas en WordPress. Por ejemplo, puede mostrar elementos de menú adicionales en su página de política de privacidad, como un enlace a su aviso de cookies.

Para ello, debe instalar y activar el plugin de menús condicionales, como se muestra más arriba, a continuación, elija el menú de navegación adecuado y haga clic en el enlace “+ Condiciones”.

Esta vez debe hacer clic en la pestaña “Páginas”. Verás un anuncio / catálogo / ficha de todas las páginas de tu sitio web.

Select the Pages Where the Menu Should Be Displayed

Debe colocar una marca de verificación junto a cada página en la que desee mostrar el menú de navegación y, a continuación, hacer clic en el botón “Guardar”.

Ocultar el menú de navegación en páginas de destino en WordPress

Puede haber páginas de su sitio web en las que no desee mostrar ningún menú de navegación, como las páginas de destino.

Una página de destino está diseñada para aumentar las ofertas o generar clientes potenciales para una empresa. En estas páginas, querrás minimizar las distracciones y proporcionar a los usuarios toda la información que necesitan para realizar una acción concreta.

En nuestra guía sobre cómo aumentar las conversiones de su página de destino en un 300%, le sugerimos que minimice las distracciones quitando / eliminando los menús de navegación y otros enlaces de la página.

Puede hacerlo utilizando el plugin de menús condicionales. Al seleccionar el menú condicional, esta vez tienes que elegir ‘Desactivar menú’ en el menú desplegable.

Select Disable Menu From the Drop Down

A continuación, debe enlazar el enlace “+ Condiciones” para elegir cuándo mostrar el menú.

Debe hacer clic en la pestaña “Páginas” y colocar marcas de verificación a continuación de sus páginas de destino.

Select the Pages Where the Navigation Menu Should Be Hidden

No olvides hacer clic en el botón “Guardar” para establecer los ajustes.

Cómo hacer más con los menús de navegación de WordPress

Los menús de navegación son una potente herramienta de diseño web. Permiten dirigir a los usuarios a las secciones más importantes de su sitio web.

Ahora que muestra distintos menús de navegación en distintas páginas y para distintos usuarios, quizá se pregunte cómo puede personalizarlos aún más.

Pruebe estos útiles tutoriales para ampliar la funcionalidad de los menús de navegación de su sitio web WordPress.

Esperamos que este tutorial te haya ayudado a aprender cómo añadir lógica condicional a los menús en WordPress. Puede que también quieras aprender a crear flujos de trabajo automatizados, o marcar / comprobar nuestro listado de los mejores plugins de prueba social para WordPress y WooCommerce.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Descargo: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, podemos ganar una comisión. Vea cómo se financia WPBeginner , por qué es importante, y cómo puede apoyarnos. Aquí está nuestro proceso editorial .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

El último kit de herramientas de WordPress

Obtenga acceso GRATUITO a nuestro kit de herramientas - una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Reader Interactions

36 comentariosDeja una respuesta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Bet Hannon says

    Be VERY careful with making menus different across your site. It’s not a problem to show different menus to logged in/out users, but to meet WCAG 2.0+ accessibility standards, main menus should be consistent page to page.

    • WPBeginner Support says

      Thank you for sharing that for those attempting to have those standards for their site. :)

      Administrador

  3. Kevin says

    I don’t see the “Enable conditional logic” under Appearance -> Menu. I’m using WordPress 5.7 as of March 16, 2021.

    • WPBeginner Support says

      The wording may have changed since this article but there should still be a checkbox for changing the visibility.

      Administrador

  4. Richard S. says

    BIG Thank you for this article, it’s awesome.
    Your snippet of code was perfect for a project I was working on, as was this plugin which I’m now using.
    Even in 2019 this is a handy page, it’s working well on WordPress 5.2.3 (Astra Pro theme) so still very applicable.

  5. Vasim Shaikh says

    I would like to ask I have added role for user Author and subscriber both then its should be display to author not subscriber. how to handle this?

  6. Rudolf says

    Really simple and easy to use plugin. Fantastic! It did not only save me a lot of time but also an organizational advantage because instead of using widget logic with different menu widgets, I create now one 1 menu with conditions per item.

  7. Jonathan P says

    Thank you,

    I have only used this plugin for conditions for users that are logged in or not logged in, but it works great, it really has saved me hours of messing around with code.

  8. David says

    Thank you guys for sharing this. However it will display a PHP Notice on conditioned menu items and the custom condition won’t be displayed among condition options, if you don’t specify the id parameter.

  9. Paul says

    Hi, I added conditions (if a string matches the server name, a menu is hidden). Great! But I would like to add even more custom conditions. Could you show an example of the code you would use to add more than on name/condition pair the custom option?

    name = “If the site is not www.”
    condition = www is not in SERVER_NAME
    name = “Paul site.”
    condition = “paul is in SERVER_NAME”

    etc.

    Thanks!

  10. Isuru says

    This Conflicts the WP User Manager Pro, and then user manager Pro plugin functions not working due to the confliction.
    as an ex: Show password tick in user registration page doesn’t work, as well as login page also not functioning well.
    can you please fix this

  11. Mo says

    Yep, definitely broken.

    Works great for the built in conditions, but when coding custom conditions it works once and then stops working.

  12. Mohi says

    Hello
    I installed this plugin, but I am getting an warning as follows :

    Warning: Missing argument 2 for custom_nav_edit_walker() in /var/www/equest/wp-content/themes/wp-questrian/framework/megamenu/mega-menu.php on line 42

    How to solve this warning ? Please guide me.

  13. JMD says

    I have not used the If Menu plugn, but I tried the Nav Menu Roles plugin

    It works but then conflicts with the Mega menu functionality of my theme.

    I am hesitant to try the If Menu plugin mainly because it has not been updated in so long. It will be a matter of time before I have to remove it for sure.

  14. Peter says

    Could not get this plugin to work. Not showing up i menu-items. Using: WP 4.3 / Nimwa theme.

    Any suggestions on similar working plugin? Just want to hide some menu items while working on them…

  15. Chuks Eke says

    Hi,
    Could this be achieved with this plugin,
    I want to have different menu for different pages or post. for example,

    Home | About Us | Service | Contact

    About Us [ History | Team | Career ]
    Services [ Web Development | Window Application | Corporate ID ]

    Is it possible with this plugin to show sub menu on side menu for About Us

      • Dieter says

        I stopped installation after reading WP Org PlugIn Page, there is the comment “1 person says it is broken” and in the support section is an open report which is not solved.
        If I read something like this I don’t even try to install such plug in.

      • Jagabandhu says

        The plugin is not working. It’s not showing “enable conditional logic” and the plugin author is not responding from last 7 months.

        Tried with disabling other plugins. But no result.

        Is there any other plugin to do so!?
        I need it.

Deja tu comentario

Gracias por elegir dejar un comentario. Tenga en cuenta que todos los comentarios son moderados de acuerdo con nuestros política de comentarios, y su dirección de correo electrónico NO será publicada. Por favor, NO utilice palabras clave en el campo de nombre. Tengamos una conversación personal y significativa.