Incorporar un menú en un tema de WordPress puede parecer desafiante al principio, pero con las instrucciones adecuadas, el proceso se simplifica notablemente. Esta guía te llevará paso a paso para registrar, configurar e imprimir un menú usando funciones nativas de WordPress y adaptando estilos para que se integren perfectamente en tu tema.
¿Cómo registrar una localización para el menú?
El primer paso para añadir un menú a tu tema es registrar una localización para el menú. Esto se logra utilizando la función register_nav_menus. Al registrar una localización de menú, estás creando un "espacio" en tu tema donde podrás mostrar un menú. Esta localización será visible en el panel de administración de WordPress.
Aquí tienes un fragmento de código que debes incluir en tu archivo functions.php de tu tema:
¿Cómo crear y asignar menús desde el administrador de WordPress?
Una vez que la localización para el menú ha sido registrada, es momento de crear y gestionar tus menús desde el administrador de WordPress. Sigue estos pasos:
Navega a la sección de Apariencia > Menús en el dashboard de WordPress.
Crea un nuevo menú:
Asigna un nombre al menú, como "Menú Principal".
Añade páginas, enlaces personalizados o categorías al menú según desees.
Asegúrate de asignar el menú creado a la localización que registraste (en este caso, main_menu).
¿Cómo imprimir el menú en tu tema?
Para mostrar el menú en una plantilla de tu tema, como header.php, debes llamar a la función de WordPress wp_nav_menu() y especificar la localización del menú que registraste.
Agrega el siguiente código en el archivo donde deseas que se vea el menú:
Para que el menú se ajuste a la estética de tu sitio, es esencial aplicar estilos CSS adecuados. La función wp_nav_menu() te permite especificar clases CSS tanto para el <ul> que contiene los elementos del menú como para el contenedor padre.
Por ejemplo, puedes añadir las clases en tu CSS de la siguiente manera:
Prueba y revisa: Siempre revisa en varios navegadores para asegurarte de que el menú se ve correctamente.
Usa un Child Theme: Si estás haciendo cambios en un tema padre, considera trabajar en un tema secundario (child theme) para que puedas actualizar el tema padre sin perder tus modificaciones.
Explora más sobre CSS y JavaScript: Aprender más sobre estos lenguajes te ayudará a darle vida y dinamismo al menú, como menús desplegables o animaciones.
Con estos pasos, podrás implementar un menú completamente funcional y personalizado en tu tema de WordPress. ¡No dudes en explorar más y experimentar con diferentes configuraciones para ver cuál se adapta mejor a tus necesidades! A medida que avances, encontrarás que el mundo de WordPress es extenso y lleno de posibilidades apasionantes para desarrollar sitios web únicos y atractivos.
Así está quedando mi proyecto. Estoy haciendo una copia del portal del rolling stones, ya que este está hecho en WordPress, también utiliza React.js.
¡Está quedando increíble! Tengo una pregunta ¿el posicionamiento del menú lo lograste con bootstrap o solo usas React?
@alfonzo-morales Hola Alfonso, no lo hice con react ni bootstrap. Yo he creado mi propio framework CSS. Y así creo las cosas. Igualmente, puedes logarlo con bootstrap y algo de CSS Grid. Aquí te dejo el proyecto en línea https://wp.monlogo.co
Si tienes alguna pregunta mándame un mensaje por mensaje directo.
Todos los argumentos de wp_nav_menu
gracias por el aporte, me estaba preguntando como saber que otros params o args se podian usar.
Espero les sea de utilidad, recuerden que el respeto de estándares es fundamental 😃
a,h1,h2,h3,h4,li,p,span,ul{ font-family:Montserrat}.attachment-large{ max-width:100%;height:auto!important
}h1{margin:50px 0; font-weight:900;}ul{ margin-bottom: 0px;}header{ background-color:#1c3643
}header nav li{ list-style:none;display:inline-block;padding:0 15px
}header nav li a{color:#fff; text-transform:uppercase
}header nav li a:hover{color:#fff
}footer{ background-color:#1c3643;padding:10px 0}footer{color:white
}footer p{margin:0;color:#fff
}.lista-productos h2{ font-weight:900}.lista-productos h4{ font-weight:400}.lista-productos h4 a{color:#000}
No entendí, Al registrar puso el nombre "Menú principal" pero al actualizar en el navegador solo apareció el nombre "Menú" entre los items de Apariencia. Que es lo que hace exactamente register_nav_menu ?
Hola, Edgar! El nombre que aparece en la parte de apariencia es la herramienta de menú de WordPress y lleva el nombre "Menu" nosotros lo que creamos es una "localización" para crear un menú dentro.
Pregunta @Cristian Ramanzin a qué te refieres con localización?
IMPORTANTE!
si realizaste el ejercicio anterior (Crear un tema hijo) recuerda que para continuar con el curso debes volver a activar el tema Platzigifts, de lo contrario el menú no se te va a visualizar.
jajaj maravilloso! muchos minutos perdidos tratando de resolver el misterior.
Muchas gracias.
Cómo funciona el sistema de grilla de Bootstrap
Se puede usar TailwindCSS con wordpress y woocommerce?
Hola, vengo en 2023 a decirte que si se puede, justo a estas alturas estoy llevando el curso xd y como no me gusta usar Bootstrap me dije, y si instalo TailwindCSS. Claro que se puede... Aunque me imagino que ya sabes cómo no??
¿Se le puede agregar una clase a los elementos <li>?
Hola! Para lograr tenes que usar Walker_Nav_Menu, este objeto te va a ayudar a modificar la estructura de tu menú. Podes fijarte un poco más de esto en esta url. Preguntame cualquier duda que tengas al respecto! :)
Cómo puedo utilizar un header/menú de Bootstrap en Wordpress???
Puedes instalar el cdn de bootstrap en el index.php y administrarlo con el archivo css de la plantilla que seleccionaste de wordpress, todo esto lo puedes hacer aplicando el curso de css https://platzi.com/clases/css-grid-layout/
Lo siento no le veo nada de sentido a tu solución, lo que se busca es que el Navbar sea dinámico desde el dashbord de Wordpress y no ocupas CSS Layout para eso.
Por si alguien tuvo ese problema yo lo solucione por medio de esta librería: https://github.com/wp-bootstrap/wp-bootstrap-navwalker
Al configurar el menu este no aparece en la parte de arriba de la página y centrado como en el ejercicio.
Gracias por su ayuda.
¡Hola! ¿Podrías mostrarnos tu código o indicarnos dónde lo podemos encontrar? Así será más fácil ayudarte a encontrar el error y la solución. :pray::bug:
Hola Juan!
En efecto se trataba de un error en el código y sobre todo se me había pasado modificar el archivo style.css, una vez hecho esto todo en orden.
Gracias por tu recomendación, lo tendré en mente en la próximas preguntas ;)
este men no explica nada de lo que escribe , me siento re perdido en su codigo
este profesor no me gusta
Por si le pasa a alguien lo mismo que a mí, esta fue la forma como me funcionó la inserción del menú. Tengo instalada la versión de WordPress 6.0.2.
register_nav_menu( 'top_menu', 'Menú Principal' );
Paso a paso aprendiendo
Hola Julian, disculpa te pregunto como hiciste para que te quedara el logo en ese tamaño y posición? A mi se me ve muy grande y el tamaño en que lo tengo es de 200 px x 80 px.
Gracias
Agregar al style.css
a,h1,h2,h3,h4,li,p,span,ul{font-family:Montserrat}.attachment-large{max-width:100%;height:auto!important}h1{margin:50px 0;font-weight:900;}ul{margin-bottom: 0px;}header{background-color:#1c3643}header nav li{list-style:none;display:inline-block;padding:0 15px}header nav li a{color:#fff;text-transform:uppercase}header nav li a:hover{color:#fff}footer{background-color:#1c3643;padding:10px 0}footer{color:white}footer p{margin:0;color:#fff}.lista-productos
h2{font-weight:900}.lista-productos
h4{font-weight:400}.lista-productos
h4 a{color:#000}
agregar en functions.php debajo de add_theme_support('title-tag');: