¿Por qué WP_Query('showposts=5') muestra solo 1 entrada?
Estoy tratando de hacer una consulta simple para obtener las últimas 5 entradas en una lista desordenada, pero esto solo muestra 1 resultado aunque tengo varias entradas. Incluso hice un offset, pero muestra la siguiente entrada pero aún así 1 resultado. ¿Qué estoy haciendo mal?
<ul>
<?php $the_query = new WP_Query('showposts=5'); ?>
<?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
<li>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
<p><?php the_content_limit(250); ?></p>
</li>
<?php endwhile;?>
</ul>

the_content_limit
no existe en WordPress. Probablemente estás buscando algo como the_excerpt
.
Lo que probablemente está sucediendo es que tu bucle funciona correctamente, pero la llamada a una función no definida causa un error en el programa, haciendo que parezca que el bucle no funciona. Revisa el HTML renderizado: probablemente verás una única etiqueta de apertura <li>
, el enlace y una etiqueta de párrafo de apertura.
showposts
también está obsoleto. Consulta en el codex: eliminado en la versión 2.1
Prueba esto:
<?php
$query = new WP_Query(array(
'posts_per_page' => 5,
));
while ($query->have_posts()): $query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<p><?php the_excerpt(); ?></p>
</li>
<?php endwhile;

La sintaxis predeterminada para post_per_page es:
<?php
$query = new WP_Query
(array(
'posts_per_page' => 5,
)
);
while ($query->have_posts()): $query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<p><?php the_excerpt(); ?></p>
</li>
<?php endwhile;

showposts
fue reemplazado por posts_per_page
. Por favor lee la respuesta aceptada

Sí, funciona, pero está obsoleto y podría eliminarse en el futuro, lo que rompería tu sitio
