通常は、グローバル変数 $wp_query のプロパティ max_num_pages にアーカイブが何ページあるかというデータを保持しています。
関数リファレンス/WP Query プロパティ
$wp_query->max_num_pages
で取得できますので確認してみてください。
次のページがあるかどうかは、このページ数と、get_query_var( ‘paged’ ) で得られる現在の表示ページ数の比較で判定可能です。
回答に書かれてあったことをもとにして調べ始めたものの、
当初は一向に答えが見えませんでした。
しかし別件で気になっていたことの答えが見つかり、
そちらをまず実現させようとあれこれしておりました。
そうしているうちに、あれ?これを使えばページ数の比較が出来るのではないか?
と思って苦戦はしましたが何とか実現することが出来ました。
添削をしていただけることを願いつつ、
どなたかの役に立てばと言うことも含めてソースを掲載させていただきます。
function show_page_number_s() {
global $wp_query;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$max_page = $wp_query->max_num_pages;
if ($paged < $max_page) {
$args = array (
'prev_text' => '<',
'next_text' => '>',
'show_all' => false,
'mid_size' => 1,
);
echo the_posts_pagination( $args );
}
}
読み違えていたと思いますが、
次のページがなくても
とは、3ページ目を表示しているときに、4ページ目があるかどうかではなく、1ページしかない(つまり2ページ目がない)ということでしょうか。
その場合であれば、if の条件式は
$max_page != 1
が適切で、上記で提示いただいたコードだと最終のページでページネーションが表示されなくなり、前のページに戻れなくなってしまいます。
添削ありがとうございましたw
返信前、自分で確認した時にはなぜか最終ページにもナビが出ていたので、
表示されていたはずなんだけどと改めてみたら表示されておらず…
ご指摘通り修正しましたら表示されました。
重ね重ねありがとうございました!
これでひとまず解決とさせていただきますね。