web-dev-qa-db-ja.com

Home.phpをナビゲートすると、改ページが空白のページに移動するのはなぜですか?

home.phpをコーディングしようとすると問題に遭遇しました。私が遭遇した問題は、ページ付けにあります。ボタンを停止/無効にする代わりに、最後のページの投稿の後もボタンを有効にし、クリックすると/page/#ファイルを使用してindex.phpをロードしました。このファイルは現時点では<?php get_header(); ?><?php get_footer(); ?>です。私がテストした関数は<?php next_posts_link(); ?><?php echo get_next_posts_link(); ?>です。私はこれについてしばらく研究しました、そしてそれに出会ったそれはパーマリンクと関係があるかもしれないそしてそれらはpost nameに設定されます。

home.phpのコード:

<?php 
if ( have_posts() ): while ( have_posts() ): the_post(); ?>
    <div class="thepost">
      <div class="primecircle">
        <div class="circledate">
          <div class="blogmonth"><?php the_time('M'); ?></div>
          <div class="blogdate"><?php the_time('j'); ?></div>
          <div class="blogyear"><?php the_time('Y'); ?></div>
        </div>
      </div>
    <div class="blogcontent">
      <h1 class="blogtitle"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
      <p><?php the_excerpt(); ?></p>
      <div class="learnmore"><a href="<?php the_permalink(); ?>">learn more</a></div>
    </div>
    </div>      
<?php endwhile; ?>

<div class="pagelinks">
  <ul class="tags" class="list-inline">
    <li><?php echo previous_posts_link('Back'); ?></li>
    <li><?php echo next_posts_link('Next', 5); ?></li>
  </ul>
</div>  

<?php else: ?>
    <h1 class="blogtitle">No Current blog posts at this time.</h1>      
<?php endif; ?> 

投稿の最後のページに到達したときにnext_posts_link()関数を適切に無効にする方法についての提案やポインタはありますか?

編集:labelを渡すときの関数previous_posts_link();labelのみを取るときのmax_pageのエラーを修正しました。両方の関数からmax_pageを削除した後、それはindex.phpへの循環を止めました。

あなたの問題は5に関連している可能性があります。 previous_posts_link は有効なパラメータを1つだけ受け入れます。つまり、$labelです。2つ渡しています。

次に、 next_posts_link は2番目のパラメータ$max_pagesを受け入れます。ここでは、$wp_query->max_num_pagesをオーバーライドする5の値を渡します。つまり、実際のページ数に関係なく、Wordpressに5ページがあると言っているのです。

解決策:

リンクから5を削除するだけで、問題が解決します

1
Pieter Goosen