web-dev-qa-db-fra.com

Pourquoi WP_Query ('showposts = 5') n'affiche qu'une seule publication?

J'essaie de faire une requête simple pour obtenir les 5 derniers articles dans une liste non ordonnée, mais cela ne montre qu'un résultat alors que j'ai plusieurs articles. J'ai même fait un décalage, mais il montre le prochain post mais encore 1 résultat. Qu'est-ce que je fais 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>
1
TruMan1

the_content_limit n'existe pas dans WordPress. Vous voulez probablement quelque chose comme the_excerpt .

Ce qui est susceptible de se produire, c’est que votre boucle fonctionne bien, mais l’appel d’une fonction non définie provoque une erreur de sortie du programme, ce qui fait apparaître que la boucle ne fonctionne pas. Regardez le code HTML rendu: vous verrez probablement une seule balise d'ouverture, <li>, le lien et une balise de paragraphe d'ouverture.

showposts est également obsolète. Jetez un coup d'oeil dans le codex : chuté en 2.1

Essaye ça:

<?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;
2
chrisguitarguy