Tutoriales de WordPress de Confianza, cuando más los necesitas.
Guía para Principiantes de WordPress
Copa WPB
25 Millones+
Sitios web que usan nuestros plugins
16+
Años de experiencia en WordPress
3000+
Tutoriales de WordPress de expertos

Cómo mostrar las entradas recientes como un menú desplegable en WordPress

Probablemente estés familiarizado con el widget de Categorías en WordPress. Recientemente, uno de nuestros lectores nos preguntó si era posible mostrar las entradas recientes en un menú desplegable también. En este artículo, te mostraremos cómo mostrar las entradas recientes como un menú desplegable en WordPress.

Agregar publicaciones recientes como menú desplegable

¿Por qué y quién necesita las entradas recientes en un menú desplegable?

WordPress viene con un widget de entradas recientes incorporado que puedes agregar a cualquier barra lateral o área lista para widgets.

Este widget simplemente muestra una lista de las entradas recientes, y puedes elegir el número de entradas que deseas mostrar. Pero si deseas mostrar más de 5-10 entradas, la lista ocupará mucho espacio en tu barra lateral.

Algunos usuarios de WordPress pueden necesitar una forma compacta de mostrar las entradas recientes. En ese caso, usar menús desplegables o listas colapsables puede ayudarte a ahorrar espacio.

Echemos un vistazo a un par de formas diferentes de mostrar las entradas recientes como un menú desplegable en WordPress.

Mostrar las entradas recientes de WordPress en un menú desplegable simple (Código manual)

Este método utiliza la función incorporada wp_get_recent_posts. Todo lo que necesitas hacer es copiar y pegar el siguiente código en el archivo functions.php de tu tema o en un plugin específico del sitio.

function wpb_recentposts_dropdown() { 
$string .= '<select id="rpdropdown">
			<option  value="" selected>Select a Post</option>';

$args = array( 'numberposts' => '5', 'post_status' => 'publish' );

$recent_posts = wp_get_recent_posts($args);
	foreach( $recent_posts as $recent ){
		$string .= '<option value="' . get_permalink($recent["ID"]) . '">' .   $recent["post_title"].'</option> ';
	}

$string .= '</select>
			<script type="text/javascript"> var urlmenu = document.getElementById( "rpdropdown" ); urlmenu.onchange = function() {
      		window.open( this.options[ this.selectedIndex ].value, "_self" );
 			};
			</script>';

return $string;
} 
add_shortcode('rp_dropdown', 'wpb_recentposts_dropdown');
add_filter('widget_text','do_shortcode');

Ahora puedes usar el shortcode [rp_dropdown] en tus publicaciones, páginas y widgets de texto de WordPress. Se verá así:

Publicaciones recientes en un menú desplegable en un sitio de WordPress

Añadir publicaciones recientes colapsables usando un plugin

El método anterior simplemente lista tus publicaciones recientes en un formulario desplegable. Otra forma de ahorrar espacio es añadiendo una lista colapsable de publicaciones recientes que se expande cuando los usuarios hacen clic en ella.

Lo primero que necesitas hacer es instalar y activar el plugin Collapse-O-Matic. Funciona directamente, y no hay configuraciones que debas ajustar.

El plugin simplemente te permite mostrar cualquier cosa en un menú colapsable usando un shortcode.

Antes de usar este plugin, necesitamos una forma de mostrar fácilmente las publicaciones recientes donde queramos. Simplemente añade este código al archivo functions.php de tu tema o a un plugin específico para tu sitio.

function wpb_recentposts() { 

$string .= '<ul>';
$args = array( 'numberposts' => '5', 'post_status' => 'publish' );
$recent_posts = wp_get_recent_posts($args);
	foreach( $recent_posts as $recent ){
		$string .= '<li><a href="' . get_permalink($recent["ID"]) . '">' .   $recent["post_title"].'</a></li> ';
	}
$string .= '</ul>';
return $string;
} 
add_shortcode('recentposts', 'wpb_recentposts');
add_filter('widget_text','do_shortcode');

Este código simplemente te permite mostrar una lista de publicaciones recientes usando el shortcode [recentposts].

Ahora añadiremos nuestro shortcode dentro del shortcode de Collapse-O-Matic para crear una lista colapsable de publicaciones recientes.

Simplemente añade el shortcode así:

[expand title="Publicaciones Recientes"][recentposts][/expand]

Puedes añadir este shortcode en un widget de texto, publicaciones o páginas de tu sitio de WordPress. Así es como se veía en nuestro sitio de prueba.

Lista colapsable de publicaciones recientes

Eso es todo, esperamos que este artículo te haya ayudado a mostrar las publicaciones recientes como un menú desplegable en WordPress. También te puede interesar ver estos 6 consejos para crear un calendario editorial impactante en WordPress.

Si te gustó este artículo, suscríbete a nuestro Canal de YouTube para ver tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.

Descargo de responsabilidad: Nuestro contenido es compatible con el lector. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Consulta cómo se financia WPBeginner, por qué es importante y cómo puedes apoyarnos. Aquí está nuestro proceso editorial.

El Kit de herramientas definitivo para WordPress

Obtén acceso GRATUITO a nuestro kit de herramientas: ¡una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Interacciones del lector

18 CommentsLeave a Reply

  1. Estimado autor,
    hay un error tipográfico en la línea 2 de su función wpb_recentposts_dropdown():
    debería ser " $string = … " en lugar de " $string .= … "

  2. Hola,

    Instalé el collapse-o-mattic y pegué el código en el archivo functions.php.
    Después de eso, pegué el shortcode [expand title=”Recent Posts”][recentposts][/expand] en un textwidget, pero no pasó nada.
    ¿Me falta algo?

    Saludos cordiales, Yvonne

    • Querrás colocar el shortcode en el editor de texto en lugar del editor visual para asegurarte de que no haya estilos que impidan que el shortcode funcione.

      Administrador

  3. La línea 3 tiene un error. A la etiqueta de opción de cierre le falta su "/" de cierre. Esto está generando una opción en blanco en el menú.

  4. Hola. Usé el código anterior para mostrar todas mis publicaciones en un menú desplegable, pero no está ordenado. Tengo dos preguntas aquí:
    1. ¿Cómo puedo ordenar las publicaciones por título?
    2. ¿Cómo puedo mostrar publicaciones de una categoría específica en un menú desplegable en lugar de mostrar todas las publicaciones?

  5. ¡Buen artículo! ¿Cómo se puede hacer por una categoría específica y no solo por todas tus categorías? Además, ¿se puede hacer alfabéticamente?

  6. Muchas gracias por la gran ayuda. También quisiera mostrar las categorías en una lista desplegable, si puedes ayudar con eso... Pero ahora, si actualizo mi WordPress, ¿es posible? Vi en algún lugar que hablaban de desafíos al actualizar WordPress y el riesgo de perder datos debido a la codificación rígida de las funciones PHP.

  7. ¡Gran herramienta, gracias por eso!
    ¿Es posible ordenar la salida de las publicaciones en la lista en orden alfabético?
    ¡Gracias de antemano por tu respuesta!

    Saludos,
    Robert

  8. ¿Es posible mostrar el menú desplegable de publicaciones con un botón para enviar?

    ‘function wpb_recentposts_dropdown() {
    $string .= ‘
    Select your School’;

    $args = array( ‘numberposts’ => ‘5’, ‘post_status’ => ‘publish’ );

    $recent_posts = wp_get_recent_posts($args);
    foreach( $recent_posts as $recent ){
    $string .= ” . $recent[“post_title”].’ ‘;
    }

    $string .= ‘
    BUSCAR ESCUELA AHORA
    var urlmenu = document.getElementById( “submitschool” ); urlmenu.onclick = function() {
    window.open( this.options[ this.selectedIndex ].value, “_self” );
    };
    ‘;

    return $string;
    }
    add_shortcode(‘rp_dropdown’, ‘wpb_recentposts_dropdown’);
    add_filter(‘widget_text’,’do_shortcode’);’

  9. Es un artículo excelente. Los principiantes como yo podemos entender el poder de WordPress y sus plugins con este tipo de artículos.

    Me gustaría que se escribieran algunos artículos para mostrar un mensaje en una página específica y no en todas las publicaciones y páginas.

    También ayudaría a los principiantes si se escribieran algunos artículos para mostrar un formulario para la entrada del usuario que se pueda guardar en la base de datos.

  10. Me gusta mucho el menú desplegable de publicaciones recientes. ¿Cómo puedo controlar el ancho de este menú desplegable? Por defecto es demasiado largo para mi barra lateral.

Deja una respuesta

Gracias por elegir dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de comentarios, y tu dirección de correo electrónico NO será publicada. Por favor, NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.