Cómo mostrar publicaciones recientes en la página de inicio con HTML personalizado
Estoy buscando mostrar un número x
(indefinido) de publicaciones recientes (no más de 10) en mi página de inicio. Para cada publicación, me gustaría mostrar el título y un fragmento del contenido. Podría crear una consulta SQL para obtener esto, pero me preguntaba cuál es la función de WordPress para lograrlo. Lo más cercano que he encontrado es <?php wp_get_archives('type=postbypost&limit=10&format=html'); ?>
. También me gustaría personalizar el formato HTML. Un ejemplo del resultado que deseo sería este:
<div id="posts">
<section class="post">
<h2><a href="[post uri]">[post title]</a></h2>
<p>[post snippet]</p>
</section>
<section class="post">
<h2><a href="[post uri]">[post title]</a></h2>
<p>[post snippet]</p>
</section>
</div>

<div id="posts">
<?php
// definir argumentos de la consulta
$args = array(
'posts_per_page' => 8, // tu número 'x' va aquí
'nopaging' = true
// posiblemente más argumentos aquí
);
// configurar nueva consulta
$tyler_query = new WP_Query( $args );
// recorrer las publicaciones encontradas
while ( $tyler_query->have_posts() ) : $tyler_query->the_post();
echo '<section class="post">'.
'<h2><a href="'.
get_permalink().
'">'.
get_the_title().
'</a></h2><p>'.
get_the_excerpt().
'</p></section>';
endwhile;
// reiniciar datos de publicación
wp_reset_postdata();
?>
</div>
Por defecto, un extracto tiene una longitud de 55 palabras. Para una longitud personalizada del extracto, añade lo siguiente al archivo functions.php de tu tema:
function tyler_excerpt_length( $length ) {
return 70; // cambia el número de palabras a tu preferencia
}
add_filter( 'excerpt_length', 'tyler_excerpt_length' );
Si no estás satisfecho con el enlace "Continuar leyendo" por defecto al final del extracto, añade esto a functions.php:
function tyler_excerpt_more( $more ) {
return 'Leer el artículo completo >>'; // de nuevo, cambia a tu gusto
}
add_filter( 'excerpt_more', 'tyler_excerpt_more' );
Si, dado que ya tienes el enlace de la publicación en el título, deseas que el enlace "más" del extracto no se muestre, haz que la función anterior devuelva una cadena vacía, es decir, return '';
.
Lecturas adicionales:

Vaya, esta respuesta superó con creces mis expectativas. Ojalá pudiera votarla positivamente numerosas veces. Muchas gracias.

http://codex.wordpress.org/Template_Tags/the_excerpt ¿Te referías a 55 palabras?
