Cómo añadir elementos personalizados a menús específicos de WordPress

¿Quieres añadir elementos personalizados a menús específicos de WordPress?

Los menús de WordPress son menús de navegación que se muestran en la parte superior de la mayoría de los sitios web. A veces puedes querer mostrar elementos personalizados que no sean simples enlaces en los menús de navegación

En este artículo, te mostraremos cómo añadir fácilmente elementos personalizados a determinados menús de WordPress

Añadir elementos personalizados a los menús de WordPress

Por qué añadir elementos personalizados a los menús de WordPress

Los menús de WordPress son enlaces de navegación que suelen aparecer en la parte superior de un sitio web. En los dispositivos móviles, suelen aparecer cuando se toca un icono de menú.

ejemplo de menú de navegación

Dado que se trata de un lugar destacado en el diseño típico de un sitio web de WordPress, es inteligente aprovecharlo colocando en el menú elementos personalizados que no sean simples enlaces

Por ejemplo, algunos usuarios pueden querer mostrar el formulario de búsqueda como hacemos en WPMundobytes. Un sitio web de miembros puede querer mostrar enlaces de inicio y cierre de sesión, o puede querer añadir iconos o imágenes a su menú.

Por defecto, los menús de navegación están diseñados para mostrar enlaces de texto simple. Sin embargo, puedes colocar elementos personalizados en los menús de WordPress.

Dicho esto, echemos un vistazo a cómo puedes añadir elementos personalizados a menús específicos en WordPress, manteniendo intacto el resto de tu menú de navegación

Añadir elementos personalizados a menús de navegación específicos en WordPress

Hay diferentes maneras de añadir elementos personalizados a un menú de navegación en WordPress. Depende del tipo de elemento personalizado que quieras añadir.

Te mostraremos algunos de los ejemplos más comunes. Para algunos de ellos tendrás que utilizar plugins, mientras que otros requerirán que añadas algo de código.

Si quieres saltar a una sección determinada, puedes utilizar este índice:

Empecemos

Normalmente, puedes añadir un formulario de búsqueda a tu barra lateral de WordPress utilizando el widget o bloque de búsqueda por defecto. Sin embargo, no hay forma de añadir la búsqueda al menú de navegación por defecto

Algunos temas de WordPress tienen una opción para añadir un cuadro de búsqueda a la zona del menú principal. Pero si el tuyo no la tiene, puedes utilizar el método que se indica a continuación.

Para ello, necesitas instalar y activar el Formulario de búsqueda modal SearchWP plugin. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.

Este plugin es un complemento para SearchWPque es el mejor plugin de búsqueda de WordPress del mercado

El addon es gratuito y también funciona con la búsqueda por defecto de WordPress. Sin embargo, te recomendamos que lo utilices con SearchWP si quieres mejorar tu búsqueda en WordPress.

Después de instalar el complemento, simplemente dirígete a la página Apariencia " Menús página. En la columna "Añadir elementos de menú", haz clic en la pestaña "Formularios de búsqueda modal de SearchWP" para ampliarla

Añadir búsqueda al menú

Selecciona tu motor de búsqueda y luego haz clic en el botón Añadir al menú

El plugin añadirá la búsqueda a tu menú de navegación. Haz clic en el "Formulario de búsqueda modal" bajo tus elementos de menú para expandirlo y cambiar la etiqueta a Búsqueda o cualquier otra cosa que desees

Cambiar la etiqueta de búsqueda

No olvides hacer clic en el botón Guardar menú para guardar tus cambios

Ahora puedes visitar tu sitio web para ver la Búsqueda añadida a tu menú de navegación. Al hacer clic en él, se abrirá el formulario de búsqueda en una ventana emergente lightbox

Buscar en el menú de navegación

Para más detalles, consulta nuestra guía sobre cómo añadir un botón de búsqueda a un menú de WordPress.

Otro elemento personalizado muy popular que los usuarios suelen querer añadir a un menú específico es una imagen o un icono

Para ello, tendrás que instalar y activar el Icono de Imagen del Menú plugin. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.

Tras la activación, ve a la sección Apariencia " Menús y mueve el ratón sobre el elemento del menú en el que quieras mostrar un icono o una imagen.

Botón de imagen del menú

Haz clic en el botón azul de la Imagen del Menú para continuar.

Esto hará que aparezca una ventana emergente. Desde aquí, puedes elegir una imagen o un icono para que se muestre con ese elemento del menú

Elige la imagen o el icono

También puedes elegir la posición de la imagen o el icono con respecto al elemento de menú. Por ejemplo, puedes mostrar el icono justo antes del elemento de menú, como en nuestro ejemplo de abajo, o incluso ocultar el título del menú para que sólo se vea el icono.

No olvides hacer clic en el botón Guardar cambios para guardar tus ajustes. Repite el proceso si necesitas añadir iconos o imágenes a otros elementos del menú.

Después de esto, puedes visitar tu sitio web para ver la imagen o el icono personalizado en elementos de menú específicos

Iconos del menú

Para obtener instrucciones más detalladas, consulta nuestro tutorial sobre cómo añadir imágenes en los menús de WordPress

Si utilizas un plugin de membresía de WordPress o gestionas una tienda online, es posible que quieras permitir a los usuarios acceder fácilmente a sus cuentas

Por defecto, WordPress no viene con una forma fácil de mostrar los enlaces de inicio y cierre de sesión en los menús de navegación.

Te mostraremos cómo añadirlos mediante un plugin o mediante un fragmento de código.

1. Añadir enlaces de inicio de sesión/cierre de sesión a los menús mediante un plugin

Este método es más fácil y se recomienda para todos los usuarios

En primer lugar, tienes que instalar y activar el Elemento de menú de inicio o cierre de sesión plugin. Después de eso, tienes que visitar el Apariencia " Menú y haz clic en la pestaña Login/Logout para ampliarla

Añadir un enlace de inicio o cierre de sesión a un menú específico de WordPress

Desde aquí, tienes que seleccionar el elemento 'Log in|Log Out' y hacer clic en el botón Añadir al menú

No olvides hacer clic en el botón Guardar menú para guardar los cambios. Ahora puedes visitar tu sitio web para ver tu enlace personalizado de inicio de sesión en acción

Vista previa del enlace de inicio y cierre de sesión

El enlace cambiará dinámicamente a inicio de sesión o cierre de sesión dependiendo del estado de inicio de sesión del usuario

Obtén más información en nuestro tutorial sobre cómo añadir enlaces de inicio y cierre de sesión en los menús de WordPress

2. Añadir enlaces de inicio y cierre de sesión con código personalizado

Este método requiere que añadas código a tu sitio web de WordPress. Si no lo has hecho antes, echa un vistazo a nuestra guía sobre cómo añadir código personalizado en WordPress

En primer lugar, tienes que averiguar el nombre que utiliza tu tema de WordPress para la ubicación específica del menú de navegación

La forma más fácil de encontrarlo es visitando la página Apariencia " Menús y llevando el ratón a la zona de ubicación de los menús

Elige la imagen o el icono

Haz clic con el botón derecho del ratón para seleccionar la herramienta Inspeccionar y verás el nombre de la ubicación en el código fuente de abajo. Por ejemplo, nuestro tema de demostración utiliza el menú principal, el de pie de página y el de la barra superior

Fíjate en el nombre utilizado para tu ubicación de destino donde quieres mostrar el enlace de inicio de sesión/cierre de sesión

A continuación, tienes que añadir el siguiente código al archivo functions.php de tu tema o a un plugin específico del sitio.

add_filter( 'wp_nav_menu_items', 'add_loginout_link', 10, 2 );
function add_loginout_link( $items, $args ) {
    if (is_user_logged_in() && $args->theme_location == 'primary') {
        $items .= '<li><a href="'.%20wp_logout_url()%20.'">Log Out</a></li>';
    }
    elseif (!is_user_logged_in() && $args->theme_location == 'primary') {
        $items .= '<li><a href="'.%20site_url('wp-login.php')%20.'">Log In</a></li>';
    }
    return $items;
}

Después de eso, puedes visitar tu sitio web y verás el enlace de inicio de sesión o cierre de sesión en tu menú de navegación

Enlace de inicio de sesión añadido mediante código personalizado

Este enlace dinámico cambiará automáticamente a inicio de sesión o cierre de sesión en función del estado de inicio de sesión del usuario

¿Y si sólo quieres añadir texto y no un enlace a tu menú de navegación?

Hay dos formas de hacerlo

1. Añadir texto personalizado a un menú específico (forma fácil)

Simplemente ve a la sección Apariencia " Menús y añade un enlace personalizado con el signo # como URL, y el texto que quieras mostrar como Texto del enlace

Añadir texto personalizado con enlace ficticio

Haz clic en el botón Añadir al menú para continuar

WordPress añadirá tu texto personalizado como elemento del menú en la columna de la izquierda. Ahora, haz clic para expandirlo y elimina el signo #.

Eliminar enlace

No olvides hacer clic en el botón Guardar menú y previsualizar tu sitio web. Verás que tu texto personalizado aparece en el menú de navegación

Sigue siendo un enlace, pero hacer clic en él no hace nada para el usuario

texto personalizado en el menú de navegación

2. Añadir texto personalizado a un menú de navegación mediante código

Para este método, añadirás un fragmento de código a tu sitio web. En primer lugar, tendrás que averiguar el nombre de la ubicación de tu tema, tal y como se ha descrito anteriormente en la sección del enlace de acceso/cierre de sesión.

Después, tienes que añadir el siguiente código al archivo functions.php del tema o a un plugin específico del sitio.

add_filter( 'wp_nav_menu_items', 'your_custom_menu_item', 10, 2 );
function your_custom_menu_item ( $items, $args ) {
    if ( $args->theme_location == 'primary') {
        $items .= '<li><a title="">Custom Text</a></li>';
    }
    return $items;
}

Simplemente sustituye donde dice "Texto personalizado" por tu propio texto.

Ahora puedes guardar tus cambios y visitar tu sitio web para ver tu texto personalizado añadido al final de tu menú de navegación

Este método de código puede ser útil si quieres añadir mediante programación elementos dinámicos a un menú específico de WordPress

¿Quieres mostrar la fecha actual dentro de un menú de navegación en WordPress? Este truco es muy útil si tienes un blog que se actualiza con frecuencia o un sitio web de noticias

Simplemente añade el siguiente código al archivo functions.php de tu tema o a un plugin específico del sitio.

add_filter('wp_nav_menu_items','add_todaysdate_in_menu', 10, 2);
function add_todaysdate_in_menu( $items, $args ) {
    if( $args->theme_location == 'primary')  {
         
        $todaysdate = date('l jS F Y');
        $items .=  '<li><a>' . $todaysdate .  '</a></li>';
 
    }
    return $items;
}

No olvides reemplazar 'primary' por la ubicación de tu menú

Ahora puedes visitar tu sitio web para ver la fecha actual en tu menú de WordPress.

Fecha actual en el menú de WordPress

También puedes cambiar el formato de la fecha a tu gusto. Consulta nuestro tutorial sobre cómo cambiar el formato de la fecha y la hora en WordPress

¿Quieres añadir un poco más de personalización a tu menú de navegación? Puedes saludar a los usuarios conectados por su nombre en tu menú de navegación

En primer lugar, tendrás que añadir el siguiente código al archivo functions.php de tu tema o a un plugin específico del sitio.

add_filter( 'wp_nav_menu_objects', 'username_in_menu_items' );
function username_in_menu_items( $menu_items ) {
    foreach ( $menu_items as $menu_item ) {
        if ( strpos($menu_item->title, '#profile_name#') !== false) {
			 if ( is_user_logged_in() )     {
				$current_user = wp_get_current_user();
				 $user_public_name = $current_user->display_name;
                $menu_item->title =  str_replace("#profile_name#",  " Hey, ". $user_public_name, $menu_item->title . "!");
			 } else { 
			 $menu_item->title =  str_replace("#profile_name#",  " Welcome!", $menu_item->title . "!");
			 }
        }
    }

    return $menu_items;
} 

Este código primero comprueba si has añadido un elemento de menú con #nombre_de_perfil# como texto de enlace. Después, sustituye ese elemento del menú por el nombre del usuario conectado o por un saludo genérico para los usuarios no conectados

A continuación, tienes que ir a la página Apariencia " Menús y añadir un nuevo enlace personalizado con el #profile_name# como texto del enlace

Añadir una etiqueta especial a un elemento del menú

No olvides hacer clic en el botón Guardar menú para guardar los cambios. Después de eso, puedes visitar tu sitio web para ver el nombre del usuario conectado en el menú de WordPress

Nombre de usuario en el menú de navegación de WordPress

Hasta ahora te hemos mostrado cómo añadir diferentes tipos de elementos personalizados a menús específicos de WordPress. Sin embargo, a veces puedes necesitar mostrar dinámicamente diferentes elementos del menú a los usuarios

Por ejemplo, puedes querer mostrar un menú sólo a los usuarios que han iniciado sesión. Otro escenario es cuando quieres que el menú cambie en función de la página que esté viendo el usuario

Este método te permite crear varios menús y mostrarlos sólo cuando se cumplan determinadas condiciones

En primer lugar, tienes que instalar y activar el Menús condicionales plugin. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.

Tras la activación, tienes que visitar Apariencia " Menús página. Desde aquí tienes que crear el nuevo menú que quieras mostrar. Por ejemplo, en este ejemplo hemos creado un nuevo menú sólo para usuarios registrados

Crear un nuevo menú

Cuando hayas creado el menú, pasa a la pestaña Gestionar ubicaciones

Desde aquí, tienes que hacer clic en el enlace de Menús Condicionales junto a la ubicación del menú.

Añadir un menú condicional

Después, tienes que seleccionar el menú que has creado antes en el menú desplegable.

A continuación, haz clic en el botón "+ Condiciones" para continuar

Selecciona el menú que quieres mostrar

Esto hará que aparezca una ventana emergente

Desde aquí, puedes seleccionar las condiciones que deben cumplirse para que aparezca este menú

Elige las condiciones

El plugin ofrece un montón de condiciones para elegir. Por ejemplo, puedes mostrar el menú en función de una página específica, una categoría, un tipo de entrada, una taxonomía, etc.

También puedes mostrar diferentes menús en función de los roles de los usuarios y del estado de la sesión. Por ejemplo, puedes mostrar un menú diferente a los miembros existentes en un sitio web de membresía

Esperamos que este artículo te haya ayudado a saber cómo añadir elementos personalizados a menús específicos de WordPress. Quizás también quieras ver nuestra guía sobre cómo elegir el mejor software de diseño web, o nuestra comparación de expertos sobre el mejor software de chat en vivo para pequeñas empresas.

Si te ha gustado este artículo, suscríbete a nuestro Canal de YouTube para los videotutoriales de WordPress. También puedes encontrarnos en Twitter y Facebook.

Si quieres conocer otros artículos parecidos a Cómo añadir elementos personalizados a menús específicos de WordPress puedes visitar la categoría Themes.

¡Más Contenido!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Go up