web-dev-qa-db-ja.com

WP_Query( 'showposts = 5')に1件の投稿しか表示されないのはなぜですか?

最新の5件の投稿を順序付けされていないリストにするために簡単なクエリを実行しようとしていますが、複数の投稿がある場合でもこれは1件の結果のみを表示しています。私もオフセットをしました、しかしそれはまだ1つの結果を次の投稿を示しています。何がおかしいのですか?

<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はWordPressには存在しません。おそらく the_excerpt のようなものが欲しいでしょう。

おそらく、ループは正常に機能していますが、未定義の関数を呼び出すとプログラムがエラーになり、ループが機能していないように見えます。レンダリングされたHTMLを見てください。おそらく、単一の開始<li>タグ、リンク、および開始段落タグが表示されます。

showpostsも非推奨です。 コーデックスを見てください :2.1でドロップ

これを試して:

<?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