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 últimas publicaciones fijadas en WordPress

WordPress tiene esta función muy interesante llamada publicaciones fijadas. Piensa en las publicaciones fijadas como publicaciones destacadas para tu blog. Cuando marcas una publicación como fijada, aparece encima de tus nuevas publicaciones, pero solo si tu tema lo permite. En este tutorial te mostraremos cómo mostrar las últimas publicaciones fijadas en WordPress.

Demostración de últimas publicaciones fijadas

Nota: Este es un tutorial de nivel intermedio y requiere conocimientos básicos de HTML/CSS + conocimientos de temas de WordPress.

Tutorial en video

Suscríbete a WPBeginner

Si no te gusta el video o necesitas más instrucciones, sigue leyendo.

Lo primero que debes hacer es copiar y pegar este fragmento de código en el archivo functions.php de tu tema o en un plugin específico del sitio.

function wpb_latest_sticky() { 

/* Get all sticky posts */
$sticky = get_option( 'sticky_posts' );

/* Sort the stickies with the newest ones at the top */
rsort( $sticky );

/* Get the 5 newest stickies (change 5 for a different number) */
$sticky = array_slice( $sticky, 0, 5 );

/* Query sticky posts */
$the_query = new WP_Query( array( 'post__in' => $sticky, 'ignore_sticky_posts' => 1 ) );
// The Loop
if ( $the_query->have_posts() ) {
	$return .= '<ul>';
	while ( $the_query->have_posts() ) {
		$the_query->the_post();
		$return .= '<li><a href="' .get_permalink(). '" title="'  . get_the_title() . '">' . get_the_title() . '</a><br />' . get_the_excerpt(). '</li>';
		
	}
	$return .= '</ul>';
	
} else {
	// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();

return $return; 

} 
add_shortcode('latest_stickies', 'wpb_latest_sticky');

El código anterior consulta la base de datos de WordPress para recuperar las 5 últimas publicaciones fijadas. Luego muestra el título de cada publicación fijada con un enlace en formato de lista. Hemos envuelto todo eso en una función y creado un shortcode.

Ahora, para mostrar tus últimas publicaciones fijadas, puedes usar el shortcode [latest_stickies] en cualquier publicación, página o incluso widget de texto de WordPress.

Si deseas usar shortcodes dentro de un widget de texto, deberás agregar esta línea de código adicional en el archivo functions.php de tu tema o en un plugin específico del sitio.

add_filter('widget_text', 'do_shortcode');

Este fragmento y función se pueden usar muy bien en un slider destacado, o cualquier otra función avanzada que desee mostrar en su sitio. Este fragmento está dirigido principalmente a un sitio de WordPress que tiene una página de inicio personalizada o un aspecto de estilo de revista.

Eso es todo, esperamos que este artículo le haya ayudado a mostrar las últimas publicaciones fijadas en su blog de WordPress. También puede consultar nuestro tutorial sobre cómo agregar una fecha de vencimiento a las publicaciones fijadas en WordPress.

Si le gustó este artículo, suscríbase a nuestro Canal de YouTube para ver tutoriales en video de WordPress. También puede encontrarnos en Twitter y Google+.

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

8 CommentsLeave a Reply

  1. muy informativos esfuerzos realizados por usted, este código funciona perfectamente,
    tengo una pregunta, tengo múltiples categorías y subcategorías, así que solo quiero hacer una publicación fija para cada categoría por separado, y que se muestre en la página de lista de categorías donde se enumeran todas las publicaciones de esa categoría específica, como (categoría Deportes -> una publicación fija – categoría recetas de cocina -> una publicación fija) etc.

  2. ¡¡Gracias por ponerme en el camino correcto!!
    El código funciona muy bien para que el título aparezca donde se pega el código corto.

    Sin embargo, estaba tratando de encontrar un método para mostrar la publicación completa (todo el contenido, en lugar de solo un título o incluso un extracto) en una página específica.

    Decidí jugar con su código anterior para intentar lograr esto y finalmente lo conseguí…
    Aunque el título se muestra del mismo tamaño que el texto del párrafo, estoy seguro de que puedo arreglar eso.

    Here’s what I changed…please let me know if you think there’s something I should reconsider lest the whole world explodes ;)

    Simplemente cambié tu texto get_the_excerpt() a get_the_content() y esto cargó con éxito la publicación completa del blog en esa página.
    Para eliminar la sangría con viñetas, luego eliminé las etiquetas " " " ", pero tuve que dejar los apóstrofes en su lugar, de lo contrario la página no cargaría.
    Así que, en esencia, donde antes había " o ", ahora solo hay " y así sucesivamente.

    Eso es todo lo que cambié y funciona de maravilla para mí...
    Hay 2 problemas que noté:
    1: A veces carga la mayor parte de la publicación, pero no siempre hasta el final, especialmente si la publicación se edita después... ¿alguien tiene sugerencias para asegurar que esto no suceda?
    2: Me encantaría que la imagen destacada también apareciera, ¡esto la convertiría en la solución flexible definitiva! ¿Alguna idea al respecto?

    ¡Gracias de nuevo por el consejo!

    Espero que lo que expliqué tenga sentido para cualquiera que quiera lograr lo mismo que yo buscaba.

  3. Hola

    Gracias por tu código. Sin embargo, intento lograr algo y tengo 2 problemas.

    Quiero mostrar solo una publicación destacada en mi página de inicio y solo el video de YouTube presente en el contenido.

    En realidad, muestro el título y todo el contenido de una publicación (incluyendo textos, imágenes y videos).
    El segundo problema es que muestra YouTube como un enlace y no incrusta directamente el video en mi página de inicio.

    Gracias por tu ayuda

  4. Hola,

    He probado el código, funciona bien cuando al menos 1 publicación ha sido asignada como destacada; de lo contrario, cuando ninguna publicación está asignada como destacada, mostrará las últimas 5 publicaciones.

    Entonces, ¿cuál sería la condición para mostrar solo las publicaciones destacadas? Si no hay publicaciones destacadas asignadas, entonces no debería mostrar nada.

    Gracias de antemano

  5. ‘caller_get_posts’ ha sido reemplazado por ‘ignore_sticky_posts’ desde la v3.1, así que creo que es importante cambiar tu código para reflejar eso.
    Además, a) $post->ID no es necesario en esta instancia de get_permalink() ya que has configurado los datos de la publicación llamando a $the_query->the_post(), y si por alguna razón aún quieres incluir $post->ID, deberías hacerlo global, es decir, global $post;

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.