Examen de la función wp_nav_menu

Cuando WordPress 3 nos presentó la nueva funcionalidad de Menús, cambió la forma en que veíamos los menús de navegación para siempre. Ya no estábamos obligados a utilizar las funciones normales de listado de páginas ni a crear nuestras propias funciones de menú personalizadas para integrar los menús de categorías y páginas, así como los elementos externos o enlazados dentro de un menú de navegación. ¿Pero qué tan personalizado podemos obtener con esta nueva funcionalidad? En este tutorial, profundizaremos en todo lo que el wp_nav_menu la función puede hacer, use la Clase Walker para agregar una sub descripción y toque algunas de sus funciones relacionadas.


Los parametros

La función tiene varios parámetros para trabajar. Estos son los valores predeterminados que se enumeran en el Códice WordPress.org:

  , 'menu' =>, 'container' => 'div', 'container_class' => 'menu- menu slug -container', 'container_id' =>, 'menu_class' => 'menu', 'menu_id' = >, 'Echo' => true, 'fallback_cb' => 'wp_page_menu', 'before' =>, 'after' =>, 'link_before' =>, 'link_after' =>, 'items_wrap' => '% 3 $ s',' profundidad '=> 0,' caminante '=>); ?> 

Ubicación del tema

Usando este parámetro, podemos establecer una ubicación de tema que luego se usa en la página de Menús para configurar un menú que funcione en esa parte de su tema, sin tener que definir manualmente qué menú debería aparecer allí. Esto es muy útil para los distribuidores de temas porque puede usar condicionales para mostrar un menú solo si el usuario ha definido un menú para esa ubicación. El único otro requisito es que uses la función. register_nav_menu () para registrar esos lugares. Esto se hace generalmente desde sus archivos de funciones cuando configura la compatibilidad con los menús..

Comencemos a construir nuestros parámetros de función de menú personalizados asumiendo que hemos registrado una ubicación de tema llamada "primario".

 $ params = array ('theme_location' => 'primary');

Menú

Este parámetro se usa para definir manualmente qué menú debe usarse. En nuestro ejemplo, solo estamos configurando una ubicación de menú genérica y no definiendo una exacta para usar, pero si quisiéramos decirle a la función que use un menú llamado "Navegación principal", nuestros parámetros se verían así:

 $ params = array ('theme_location' => 'primary', 'menu' => 'Primary Navigation');

Envase

Por defecto, nuestro menú estará envuelto en un div, pero si eres como yo, normalmente no necesitas esto y probablemente quieras reducir la cantidad de divs y otras etiquetas que se utilizan para mantener su código lo más ordenado posible. También podría usar este parámetro para definir una etiqueta diferente, como un html5

o