Gestiona los menús en WordPress con wp_nav_menu

administración del plugin

Después de pegarme con la ordenación de las categorías he descubierto la funcion wp_nav_menu().

La funcion wp_nav_menu() ha aparecido con WordPress 3, y con ella puede gestionar en profundidad los menús de tu WordPress. Podrás crear los apartados de menú que quieras, ordenarlos a tu antojo y mostarlos como y donde quieras.

Hasta ahora, si querías gestionar el orden en el que mostrar las categorias tenías que recurrir a plugins como My Category Order o Category Order. Pero esto tenía problemas con plugins como el WordPress Multi Language (WPML)  si tenías la página multi-idioma.

Algunas de las cosas que puedes gestionar son:

  • El contenedor en el que se mostrara
  • Las clases que tendrá
  • El HTML con el que recubrir cada una de las secciones
  • Y mucho mas…

Un pequeño inconveniente, es que no todos los temas lo aceptan por defecto, aunque agrerar esta funcionalidad a tu tema es realmente fácil. Basta con añadir esta linea en el fichero function.php de tu theme:

add_theme_support( 'menus' );

Posteriormente tan solo tienes que añadir este código donde quieras que aparezca el menú:

<?php wp_nav_menu(array(
'container' => '',    // para que no tenga contenedor
'menu_id' => 'topMenu',    // id del menu
'link_before' => '<span>', // HTML previo al texto de cada sección
'link_after' => '</span>'    // HTML posterior al texto de cada sección
)); ?>

Y vosotros ¿Conoceis algún otro método para mostrar tus categorías en WordPress?

3 comentarios

  1. vissit dice:

    Realmente interesante. No lo conocia. Gracias.

  2. casca rabias dice:

    Mmmm… interesante, pero os habéis cepillado la mitad de las opciones… Además, no explicais el funcionamiento de los parámetros…
    Ah! si no quieres contenedor, has de poner ‘container => false’.
    Por lo demás, muy bien…

  3. Aleph Celis dice:

    Gracias, funciona muy bien. Como dice Casca Rabias con los parámetros tiene que enriquecerse su funcionalidad, veré si lo necesito.

    Suerte, bye.

Escribe una comentario