previous_posts_link、next_posts_link が表示されない理由

かれこれ2,3時間も悩んでしまった。。。

カスタム投稿のシングルページ(個別ページ)で、前の記事や、次の記事へのリンクを表示させようとして、まったく表示されず、 いろいろ調べた挙句、とってもくだらない理由が判明。

シングルページでは、next_posts_linkじゃなくて、next_post_link

もう、くだらなすぎて笑っちゃいますが、シングルページでは、postsのsはいりません。
previous_posts_link、next_posts_linkはアーカイブページ用、
previous_post_link、next_post_linkはシングルページ用 ってわけで、もちろん調べればすぐにわかることだったんですが、思い込みってやつですね。

以前、おなじようなトラブルにあったときは、query_posts()を使っていて、その処理がちゃんとできてなかったのが原因だったので、 今回もそうに違いないとソースコードを見て回ったけれど、にさっぱり行き詰ってしまいました。

previous_posts_linkや、next_posts_linkは、!is_single() で分岐

それで、なんで気が付いたかというと、previous_posts_linkのソースコードをみたら、

ってあったわけです。

!is_single() はシングルページでない場合なので、シングルページでは当然なにも表示されないわけです。

ぁぁぁぁ。

そもそも、関数名みりゃ複数形と単数形でわかるんですけどね。
英語に弱いとこんな簡単なことを見落とすんですね。
というか、いっそ何かエラーを吐くか、どちらでも使えるようにしてくれたらいいのに。
というのは我儘か?

使用例

アーカイブページでのページング

シングルページでのページング

適当なCSS

こんな感じで。

 

タイトルとURLをコピーしました