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
を削除するだけで、問題が解決します