固定ページで読み込んだカスタム投稿のページネーションが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. WordPressのホームのURLを取得してみよう

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

  3. Gurtengergでリストを使おう

  4. wordpressの自作テーマでメニューが表示されない

  5. WordPressで投稿のパーマリンクを取得しよう

  6. wordpressの投稿のアイキャッチを取得する

2020年9月
 123456
78910111213
14151617181920
21222324252627
282930