0

次のように、特定のカテゴリの投稿を多次元配列に取得しようとしています。

wp_reset_query();
query_posts();
while (have_posts()) : the_post();

    if (in_category('videos')) {
        $postAttribute["permalink"] = get_permalink();
        $postAttribute["image_url"] = wp_get_attachment_url(get_post_thumbnail_id($post->ID));
        $postAttribute["title"] = get_the_title();
        $postAttribute["comments_number"] = get_comments_number();
        array_push($videos, $postAttribute);
    };

endwhile;

次に、実行する配列を確認します。

echo count($videos);

インタビュー カテゴリよりもはるかに多くの投稿があることはわかっていますが、結果として 2 を取得し続けています。

投稿の最大数の設定を確認し、表示するためだけに高く設定しましたが、まだ何も得られませんでした。

私が見逃している可能性のあるものはありますか?

4

1 に答える 1

0

メイン クエリに依存しているようです。デフォルトでは、1 ページあたり 20 件程度の投稿しか取得できません。

代わりにカスタム クエリを実行します。

$my_query = new WP_Query(array(
  'posts_per_page' => -1, // all
  'category_name' => 'videos',
));

while($my_query->have_posts()){
  $my_query->the_post();

  // do your thing here
}

in_category()クエリは「ビデオ」カテゴリからの投稿のみを取得するため、チェックは必要ありません

于 2013-02-18T23:40:09.623 に答える