固定ページで読み込んだカスタム投稿のページネーションが2ページ目以降で404になってしまう

はじめに

Wordpressで固定ページにカスタム投稿を表示させてページネーションをつけたんですが、2ページ目以降で404になってしまったんですが、どうしたらいいですか?
Wordpressで固定ページにカスタム投稿を読み込んでページネーションの2ページ目以降が404になる場合は、カスタム投稿のpost_typeのslugと固定ページのslugが同じになっている場合が考えられます。
固定ページのスラッグと同じかもしれません・・・
違うものを設定しましょうね。

固定ページで読み込んだカスタム投稿のページネーションが2ページ目以降で404になってしまった

functions.phpでカスタム投稿を作って、アーカイブページを使わず、固定ページでクエリを生成して表示することもあるかと思います。その場合、固定ページで読み込んだカスタム投稿のページネーションが2ページ目以降で404になってしまうことがありますので、記事として書かせていただきます。
例えば、カスタム投稿のpost_typeをblogとして作成しアーカイブページをfalseと設定しアーカイブページを生成しない様にします。また、固定ページにもblogをいうスラッグでページを作成したとします。
この時、post_type blogを固定ページでクエリを生成して表示させた場合、同じpost_typeの名前と固定ページのスラッグが同じ名前になっているので、ページを2ページに移動した時に、404になってしまいます。

404の回避方法

上述の404を回避する方法の1つは、固定ページのslugをpost_typeと異なる名前にすることです。
例えば上述の例では、固定ページのslugをblogとしていますので、slugをblogsにすることで回避できます。
スタンダードな方法は、固定ページでpost_type blogのクエリを呼び出すのをやめて、has_archiveのステータスをtrueにすることです。この場合、アーカイブページとしてblogが生成されますので、こちらを使うのがスタンダートかと思います。
この時、例えばパンくずなどでページの名前が取得の方法でお困りになる方がいらっしゃるかと思います。
この場合は、ループの外で、post_typeのlabelを取得できる方法をご紹介していますので、合わせて見ていただければと思います。
固定ページでカスタム投稿のクエリを生成して、ページネーションが2ページ目以降 404になっている方の1人でもお力に慣れれば幸いです。

関連記事

  1. Gurtengergを使ってリンクを貼ってみよう

  2. WordPressのホームのURLを取得してみよう

  3. WordPressで子テーマのスタイルシートのディレクトリを参照してみ…

  4. Gurtengergのカラムを使いこなそう

  5. WordPressでループの外でカスタム投稿の名前を取得する

  6. Gurtengergで改行してみよう

2021年9月
 12345
6789101112
13141516171819
20212223242526
27282930  
Translate »