2017-02-07 9 views
1

私のtwentyseventeen-childテーマで作成した私のhome.phpファイルにページ番号が表示されない理由を理解したり、診断することができません。私は3つのブログ投稿を持っていて、1つだけを表示したいと思っています。このWordPressテンプレートにページ分割リンクが表示されないのはなぜですか?

私はWordPress 4.7.2を実行していて、thisの記事によれば、記事のページ設定を表示するにはthe_posts_pagination()を使用する必要がありますが、何も表示されません。

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 

$query = new WP_Query(array('posts_per_page' => 1, 'paged' => $paged)); 

あり3つのポストがあり、私はこれにクエリを設定している場合、私は私の自宅に3つのすべてを参照してください。私はhereを説明するようにセットアップカスタムクエリを(代わりに、クエリ文字列の配列としてのparamsを渡す)しました.PHPのページ:その後、

$query = new WP_Query(array('posts_per_page' => 3, 'paged' => $paged)); 

私は1に 'posts_per_page' を設定し、()the_posts_paginationを呼び出し、私は最初のポスト、無改ページを参照してください。表示するページが増えているので、ページネーションが表示されない理由はわかりません。私はまだワードプレスでは本当に新しいので、私はちょうど何かが明らかに欠けていると確信しています。私が表示したい「posts_per_page」を設定していてもことが表示されますので、

OKに答え質問の後

<?php 

get_header(); 

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 

$query = new WP_Query(array('posts_per_page' => 1, 'paged' => $paged)); 

?> 

<div class="wrap"> 
    <div id="primary" class="content-area"> 
     <main id="main" class="site-main" role="main"> 

      <?php 

      if ($query->have_posts()) : 

       /* Start the Loop */ 
       while ($query->have_posts()) : $query->the_post(); 

        the_title('<h1>', '</h1>'); 
        the_content(); 

       endwhile; 

       the_posts_pagination(); 

      else : 

       get_template_part('template-parts/post/content', 'none'); 

      endif; 

      ?> 

     </main><!-- #main --> 
    </div><!-- #primary --> 
</div><!-- .wrap --> 

<?php get_footer(); 

編集:ここでは

は、参考のために、私の完全なコードですここに:

$query = new WP_Query(array('posts_per_page' => 1, 'paged' => $paged)); 

Wordpressはまだsettiに頼っていましたダッシュボード - >設定 - >閲覧 - >ブログページでは、最大でと表示されているため、そこに行って設定する必要がありました。私はまだthe_posts_paginationを正しく動作させることができなかったが、これはやった:

previous_posts_link(' << Newer Entries '); 
next_posts_link(' Older Entries >> ', $query->max_num_pages); 
+0

http://wordpress.stackexchange.com/questions/180784/what-is-the-difference-between-paged-and-page –

+0

@EdDogan記事のおかげで、ページとページの違いを理解するのに役立ちます。私はこれがブログ投稿のインデックスページ(home.php)なので、ページングを正しく使っていると思います。条件文を削除して「ページングされた」クエリvarを取得しても、同じ結果が得られます。 –

+0

'<?php next_posts_link();のような他のページ区切り関数を使うと同じ結果になります。 ?><?php previous_posts_link(); ?> ' –

答えて

1

the_posts_pagination()はあなたの新しいクエリを認識しませんが、それは$GLOBALS['wp_query']に格納されているグローバルwp_queryから読んでいます。

ブログページは、の設定>管理パネルの[設定]> [読み取り]の設定は、posts_per_pageとして使用されています。

this articleの既定のクエリを変更する方法がいくつかあります。

+0

投稿を取得しているクエリが 'posts_per_page'新しいWP_Queryでは、まだページ設定を有効にするための設定に入る必要があります。ワードプレスは今のところ奇妙です!助けてくれてありがとう! –

関連する問題