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.

Nota: Este es un tutorial de nivel intermedio y requiere conocimientos básicos de HTML/CSS + conocimientos de temas de WordPress.
Tutorial en video
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+.

umair
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.
Dom
¡¡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.
Achi Baten
¿Cómo puedo mostrar las publicaciones de la página de inicio como tú?
Soporte de WPBeginner
Nuestro sitio utiliza un tema personalizado diseñado específicamente para nuestras propias necesidades. Sin embargo, puedes encontrar funcionalidades similares en algunos temas de revista disponibles.
Administrador
richard
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
Raviraj
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
Personal de WPBeginner
Gracias por señalar esto. Hemos actualizado el código.
AnastisSourgoutsidis
‘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;