2016-11-28 18 views
0

私は私のカテゴリページに表示される記事がたくさんあります。Wordpressループがすべての投稿を表示していません

ここにコードがあります。 >

<?php if(is_category(4)) { ?> 
       <?php while (have_posts()) : the_post(); ?> 
       <div class="work"> 
        <div class="work-thumb"> 
         <a href="<?php echo get_permalink(); ?>"> 
          <?php the_post_thumbnail(); ?> 
         </a> 
        </div> 
        <div class="work-title"> 
         <a href="<?php echo get_permalink(); ?>"> <?php the_title(); ?></a> 
        </div> 
       </div> 
       <?php endwhile; // end of the loop. ?> 
       <?php } ?> 

これは、すべての記事にだけループがあるが、それだけで問題になる可能性がどのような50%

のように、それらのすべてを示してdoesntの?

答えて

0

管理者設定で、テンプレート/コードを使用しているページが投稿ページに設定されているページですか?

もしそうなら、ページごとの投稿の設定は投稿の総数より少なくなる可能性があります(ページ番号が必要な場合や、この数を増やす場合)。

それはあなたの質問のコードでカスタムクエリの場合は、クエリの引数にこれを追加する必要があります。

'posts_per_page' => -1 

注:お使いの場合は、以前の場合でも、あなたがして、クエリを変更することができpre_get_postsフィルタを使用してください。例えば。あなたのテーマのfunctions.phpでこれを置く:

add_action('pre_get_posts', 'my_filter'); 

function my_filter($query){ 
    $query->set('posts_per_page', -1); 
    return $query; 
} 

その関数内では、問題となっている、例えば、ポストの種類や分類のために特別にそれを行うには、ifのステートメント内のコードをラップします。

+0

私のループには制限はありませんが、最後の150の投稿が表示されます。ページネーションは必要ありません。すべてを1ページに表示したいです。 – user3649628

+0

管理ページにはありません。それはcategory.phpです – user3649628

+0

あなたはまだ私の答えに2つの後者の修正の1つを適用する必要があります。カスタムクエリを使用していますか?はいの場合は、あなたの質問に貼り付けることができますか?あなたの質問のコードがテンプレートファイル内のすべてのコードであれば、 'pre_get_posts'フックメソッドを使う必要があります –

関連する問題