El Loop estándar de WordPress es muy simple. Bastaría con decirle a WP que si hay post que me los recorra con un bucle hasta que no haya más y en cada iteración que nos devuelva el post respectivo. En código quedaría así:
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
//
// Etiquetas de template
//
the_title();
endwhile;
else:
echo 'No post published yet...';
endif;
Si colocamos este código en la plantilla designada para visualizar nuestras últimas entradas (index.php) obtendremos un listado de los títulos de nuestros posts, pero si intentamos ejecutarlo en una plantilla estática, tipo front-page.php, este Loop nos devolverá el título de la página en la que estamos.
Esto es así porque las plantillas estáticas de WP no llevan implícita la consulta y siendo una página un tipo especial de post (es tratada internamente así por WP) el único valor al que puede acceder the_title() es al propio título de la página.
Para poder acceder a los posts de nuestro blog desde una plantilla estática deberemos usar la clase WP_Query. Por ejemplo:
$args = array(
'nopaging' => false,
'post_type' => array ('post'),
);
$custom_query = new WP_Query($args);
if ( $custom_query->have_posts() ):
while ($custom_query->have_posts() ) :
$custom_query->the_post();
// Aquí nuestro código para visualizar el post
endwhile;
endif;
wp_reset_query();
Recordad acabar el bucle con la función wp_reset_query() o con la función wp_reset_postdata() para tener de nuevo disponible el Loop por defecto de WordPress.
Deja una respuesta