De ce WP_Query('showposts=5') afișează doar 1 postare?
Încerc să fac o interogare simplă pentru a obține ultimele 5 postări într-o listă neordonată, dar aceasta îmi afișează doar 1 rezultat deși am mai multe postări. Am încercat chiar și cu offset, dar îmi arată următoarea postare însă tot un singur rezultat. Ce fac greșit?
<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
nu există în WordPress. Probabil căutați ceva precum the_excerpt
.
Ceea ce se întâmplă cel mai probabil este că bucla dvs. funcționează corect, dar apelul către o funcție nedefinită provoacă o eroare în program, făcând să pară că bucla nu funcționează. Uitați-vă la HTML-ul generat: probabil veți vedea un singur tag de deschidere <li>
, linkul și un tag de paragraf deschis.
showposts
este de asemenea învechit. Consultați în codex: eliminat în versiunea 2.1
Încercați acest cod:
<?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;

Sintaxa implicită pentru post_per_page este:
<?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
a fost înlocuit cu posts_per_page
. Te rog citește răspunsul acceptat

Da, funcționează, dar este depreciat și ar putea fi eliminat în viitor, ceea ce ar strica site-ul tău
