blog webempresa

Personalizar un menú en WordPress con wp_nav_menu

por | Ago 18, 2023 | Programación WordPress

¿Cómo enviar emails a usuarios registrados en WordPress?

En lo que respecta al mundo de WordPress, la personalización es la clave para que un sitio web destaque y ofrezca una experiencia única a sus visitantes. Uno de los elementos más cruciales de cualquier sitio web es su menú de navegación. Aunque WordPress ofrece herramientas intuitivas para diseñar menús, hay momentos en los que necesitamos ir más allá de lo básico y adaptarlos a nuestras necesidades específicas.

Aquí es donde entra en juego wp_nav_menu, una función poderosa que nos permite llevar la personalización de nuestros menús a un nuevo nivel de personalización. En esta guía, exploraremos cómo podemos aprovechar al máximo esta función, brindándonos el control y la flexibilidad que siempre quisimos para nuestro menú.

¿Qué es un menú personalizado en WordPress?

 

En el corazón de cualquier sitio web exitoso se encuentra una navegación clara y efectiva. Imaginemos que nuestro sitio web es como un centro comercial: si no hay señalizaciones claras, los visitantes se sentirán perdidos y frustrados. En WordPress, los menús personalizados son esas “señalizaciones” que guían a los visitantes a través de nuestro contenido, permitiéndoles encontrar lo que buscan de manera rápida y sencilla.

Un menú personalizado en WordPress no es solo una lista de enlaces. Es una herramienta poderosa que nos permite definir y organizar nuestras páginas, categorías, enlaces personalizados y más, todo en una estructura que tiene sentido para el sitio y nuestra audiencia. Además, gracias a las capacidades de WordPress, podemos diseñar y estructurar estos menús de acuerdo con la estética y funcionalidad que deseemos.

Muestra de menu

Imaginemos que tenemos un blog de recetas. Un menú básico podría tener enlaces a Inicio, Acerca de mí y Contacto. Pero, al crecer tu contenido, decides crear un menú personalizado que categoriza tus recetas en Desayunos, Almuerzos, Cenas y Postres. Además, bajo Postres, puedes tener submenús como Tartas, Helados y Galletas. Este nivel de organización no solo mejora la experiencia del usuario, sino que también refleja tu profesionalismo y atención al detalle. Con los menús personalizados de WordPress, esta organización detallada no es solo posible, sino también fácil de implementar.

¿Qué es wp_nav_menu en WordPress?

 

En lo que respecta al código de WordPress, cada detalle cuenta para brindar una experiencia única a los visitantes, hay herramientas que, aunque no siempre visibles, juegan un papel crucial en la estructura y diseño de un sitio web. Una de esas herramientas es wp_nav_menu.

La función wp_nav_menu es como el director de orquesta de los menús en tu sitio WordPress. Se encarga de mostrar y gestionar los menús de navegación que tengamos creados en nuestro panel de administración, permitiendo presentarlos de manera ordenada y estilizada a los visitantes. Pero su magia no termina ahí. Esta función es bastante personalizable, ofreciendo una variedad de argumentos y parámetros que nos dan el control total sobre cómo se despliegan los menús, su apariencia, estructura y comportamiento.

Pensemos en wp_nav_menu como el artista detrás del telón, que, con destreza y precisión, coloca cada elemento del menú en su lugar correcto, garantizando que cada vez que un visitante desee explorar nuestro sitio, tenga a su disposición un menú claro, funcional y agradable. Es, sin duda, una de esas funciones que, aunque no siempre se vea, su impacto en la experiencia del usuario es innegable.

Parámetros wp_nav_menu en WordPress

 

Dentro de WordPress cada función cuenta y cada función tiene su propósito y magia. Los parámetros son como las especias en una receta: pueden transformar algo bueno en algo excepcional. Cuando hablamos de wp_nav_menu, sus parámetros son los encargados de darle ese toque especial a los menús de tu sitio web.

La función wp_nav_menu viene con una serie de parámetros que te permiten personalizar y ajustar cómo se muestra y funciona el menú en nuestro sitio. Estos parámetros, o argumentos, nos dan el control sobre aspectos como la estructura del menú, su diseño, la profundidad de los elementos y mucho más.

Algunos de los parámetros más destacados incluyen:

  • theme_location: define la ubicación del menú dentro de nuestro tema, permitiéndonos asignar menús específicos a áreas designadas.
  • menu: especifica qué menú mostrar, ya sea por su nombre o ID.
  • container: define el tipo de contenedor que envuelve al menú, como un div o nav.
  • menu_class: permite asignar una clase CSS al menú, dándonos más control sobre su estilo.
  • depth: controla cuántos niveles de submenús se mostrarán.
  • fallback_cb: especifica una función de respaldo para usar si el menú no existe.
  • menu_id: este parámetro nos permite asignar un ID específico al menú, lo que facilita la personalización con CSS o JavaScript.
  • container_class: con este parámetro, podemos asignar una clase CSS al contenedor del menú. Esto es en especial útil para aplicar estilos específicos.
  • container_id: similar a menu_id, pero para el contenedor del menú. Esto nos permite tener un control más detallado sobre el contenedor en sí.
  • items_wrap: define cómo se envuelven los elementos del menú. Podemos especificar cómo se mostrarán los enlaces y listas, dándonos un control total sobre la estructura del menú.
  • item_spacing: controla el espaciado entre los elementos del menú. Podemos elegir entre ‘preserve’ (preserva los espacios en blanco) y ‘discard’ (descarta los espacios en blanco).

 

Estos parámetros nos brindan un control completo sobre cómo se muestra y se comporta nuestro menú en WordPress. Al combinarlos y ajustarlos según las necesidades, podemos crear menús que se integren a la perfección con el diseño de nuestro sitio y proporcionen una experiencia de usuario excepcional.

¿Cómo personalizar un menú en WordPress usando wp_nav_menu?

 

Cuando se trata de menús, wp_nav_menu es una de nuestras herramientas estelares. Esta función nos permite no solo mostrar un menú, sino también personalizarlo a nuestro gusto. Tal como hemos visto en los puntos anteriores contamos con elementos para poder personalizarlo a nuestro gusto. Por lo que ahora ¡Vamos a sumergirnos en el proceso!

Creación de un menú personalizado con la función wp_nav_register

 

La función de wp_nav_menu no está diseñada para crear menús desde cero, sino, por el contrario, nos permite mostrarlos y modificarlos. Esto implica que primero tenemos que crear nuestro diseño para el menú de forma manual antes de aprovechar esta función.

La herramienta wp_nav_register te brinda la capacidad de establecer o “registrar” menús para un tema en particular. Para hacerlo, es necesario modificar el archivo functions.php de tu tema.

Antes de sumergirnos en el proceso, si aún no lo hemos hecho, podemos crear un tema hijo en WordPress, esto nos evitará cualquier perdida innecesaria. Usar un tema hijo garantiza que los cambios que realicemos en el código no se pierdan con futuras actualizaciones del tema. Y, por supuesto, siempre es prudente tener una copia de seguridad de nuestro sitio antes de realizar cambios significativos.

localizacion archivo functions

Para acceder al archivo functions.php, podemos hacerlo por medio de nuestro wepanel o cPanel, o mediante nuestro dashboard WordPress, para ello entramos en Apariencias > Editor de archivos de temas y seleccionamos de nuestro tema activo o tema hijo el archivo functions.php.

Otra opción es acceder a functions.php a través de un programa de FTP. Si somos de los que preferimos trabajar con un editor de texto más robusto, este método es ideal. Aunque, para el propósito actual, el editor incorporado de WordPress debería ser más que suficiente.

Nos movemos hasta el final de todo el archivo y agregamos lo siguiente:

function menu_personalizado_nuevo() {
  register_nav_menu('menu-personalizado',__( 'Menu Personalizado' ));
}
add_action( 'init', 'menu_personalizado_nuevo' );

 

Recordemos personalizar el slug del menú y el nombre, en este caso, “Menú Personalizado”. Sin embargo, podemos elegir el nombre que mejor se adapte a nuestras necesidades.

Una vez hecho esto, guardamos los cambios en functions.php. Luego de esto podemos proceder con los siguientes pasos.

Editar nuestro menú personalizado de WordPress

 

El proceso de creación del menú será igual que cualquier otro menú personalizado que creemos, dentro del mismo WordPress, para ello debemos ingresar al panel lateral de Apariencias > menú.

Es aquí donde vamos a ir creando nuestro nuevo menú con los elementos que necesitamos que se visualicen. Cada elemento que tiene este menú poseerá un título visible y un enlace asociado a él.

Una vez que tengamos todo configurado a gusto debemos asegurarnos de que el nombre menú personalizado esta escrito en la parte superior, ya que es el nombre que le dimos a este menú.

menu personalizado

Mostrar el nuevo menú mediante la función wp_nav_menu

 

Ahora que tenemos creado nuestro menú personalizado viene la parte donde lo insertamos en nuestro sitio, este menú no se mostrara en nuestro sitio hasta que insertemos en el archivo functions correspondiente el código de wp_nav_menu para indicarle al tema donde lo insertara.

Debemos insertar una función personalizada a nuestro archivo functions.php, el que hemos visto en puntos anteriores. La ubicación siempre será dentro de nuestro tema para ello recordamos que están en Wepanel > administrador de archivos > public_html > dominio > wp-content > temas > tema que estamos utilizando > archivo functions.php.

Incluso de la misma forma podemos utilizar también nuestro editor en el dashboard de WordPress, para ello ingresamos en Apariencias > editor de temas. Aquí veremos varios archivos en el que vamos a fijarnos es en el archivo functions.php. Recordando que es mejor trabajar estos ajustes en un tema hijo.

functions en tema

Una vez nos encontramos en este archivo el codigo que debemos agregar es el siguiente:

wp_nav_menu( array( 
    'theme_location' => 'menu-personalizado', 
    'container_class' => 'menu-class'
    'fallback_cb' => ‘wp_page_menu’ ) ); 

Antes de guardar cualquier modificación en la plantilla, recordemos que el código que hemos añadido se refiere al nombre menu-personalizado. Así es como este código se identifica. Sin embargo, es posible cambiar este nombre y agregar más parámetros, como los que hemos visto en puntos anteriores. Esto nos permitirá personalizar aún más nuestro menú según nuestras preferencias y necesidades.

De la misma forma no es obligatorio que agreguemos más parámetros, de hecho si lo deseamos incluso podemos dejar solo el código con nuestro menú, lo que conseguiríamos sería un código similar a este:

wp_nav_menu( array( 
    'theme_location' => 'menu-personalizado' ) );

Mantengamos en mente que la ubicación de este código será proporcional al espacio en el que se mostrará en nuestra página. Si no estamos seguros de cómo funciona esto, podemos experimentar colocándolo en diferentes partes de nuestra plantilla para encontrar la posición ideal. De esta manera, lograremos que el menú personalizado se integre con el diseño de nuestra página.

Después de agregar este código podemos comprobar si el menú se carga de forma correcta en nuestras páginas. Sí, por el contrario, este no se visualizará de forma correcta es posible que tengamos un error con el slug en el parámetro theme_location, recordando que el nombre debe ser el mismo que agregamos en el paso anterior.

Conclusiones

 

En lo que respecta a WordPress, la personalización es la clave para destacar y ofrecer una experiencia única a nuestros visitantes. La función wp_nav_menu no es solo una herramienta; es un puente que conecta tu creatividad con la funcionalidad, permitiéndote diseñar menús que reflejen la esencia de tu sitio web.

Aunque al principio puede parecer un desafío técnico, con la guía adecuada y un poco de práctica, cualquier persona puede dominar este arte. No olvidemos que, al igual que cualquier otra herramienta de WordPress, es esencial mantener una copia de seguridad y trabajar con precaución.

Así, garantizamos que nuestros esfuerzos en personalización no solo sean efectivos, sino también seguros. ¡Adelante, explora, experimenta y transforma tu sitio web en una obra maestra de navegación!

¿Te ha resultado útil este artículo?

Promo hosting 70% de descuento