Cómo agregar lógica condicional a menús en WordPress

¿Quieres mostrar diferentes elementos del menú de navegación para diferentes páginas en WordPress? ¿Quizás mostrar un menú diferente a los usuarios registrados u ocultar un elemento del menú en páginas particulares? Normalmente, requeriría que agregue fragmentos de código o use CSS para ocultar elementos del menú, pero ¿no sería genial si pudiera hacerlo dentro de su área de administración de WordPress? En este artículo, le mostraremos cómo agregar lógica condicional a los menús en WordPress.

Tutorial en video

Suscríbete a WPBeginner

Si no le gusta el video o necesita más instrucciones, continúe leyendo.
Lo primero que debe hacer es instalar y activar el complemento If Menu. Funciona de inmediato. Todo lo que necesitas hacer es visitar Apariencia »Menús y comience a editar sus menús de navegación.

Comience seleccionando un elemento en el menú de navegación y haga clic en el ‘Habilitar lógica condicional’ caja. Esto mostrará el menú condicional, que se ve así:

Menú condicional

A continuación, elija si desea mostrar u ocultar ese elemento y luego elija la condición. Por ejemplo, solo muestre el enlace de la página de cierre de sesión cuando un usuario haya iniciado sesión.

Después de elegir una condición, simplemente presione el botón del menú Guardar para almacenar sus cambios.

Agregar sus propias condiciones

Si Menú es un complemento nuevo y no hay muchas condiciones que pueda aplicar. WordPress proporciona muchas más etiquetas condicionales que puede utilizar en sus proyectos. Para obtener una lista completa, consulte esta página.

Puede agregar cualquiera de estas etiquetas condicionales para usar con el complemento If Menu. Por ejemplo, supongamos que desea mostrar / ocultar un elemento de menú en páginas de tipo de publicación personalizada.

Agregaría el fragmento de código al archivo functions.php de su tema o un complemento específico del sitio como este.

add_filter( 'if_menu_conditions', 'wpb_new_menu_conditions' );

function wpb_new_menu_conditions( $conditions ) {
  $conditions[] = array(
    'name'    =>  'If it is Custom Post Type archive', // name of the condition
    'condition' =>  function($item) {          // callback - must return TRUE or FALSE
      return is_post_type_archive();
    }
  );

  return $conditions;
}

Así es como aparecería en el menú de lógica condicional.

Agregar sus propias condiciones en los menús condicionales

Eso es todo. Esperamos que este artículo le haya ayudado a agregar lógica condicional a los menús en WordPress. También puede consultar nuestra guía sobre cómo diseñar los menús de navegación de WordPress.

Si le gustó este artículo, suscríbase a nuestro canal de YouTube para tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Google+.