【WordPress】 カテゴリーのアーカイブが404にリダイレクトされてしまう

パーマリンク設定を特に変更していなかったのに、気がついたら、カテゴリーのアーカイブが404を表示するようになってしまったのでメモ。

カテゴリーのアーカイブが404にリダイレクトされてしまう

私の場合は、カテゴリーのアーカイブページ
https://サイトドメイン/blog/category/カテゴリー名/〜
にアクセスすると、404が表示されるようになってしまいました。

ちなみに、タグや月別などは問題なさそう。。

カテゴリーのアーカイブページで404が出ている時

デフォルト投稿+デフォルトカテゴリー

https://サイトドメイン/blog/category/カテゴリー名/

カスタム投稿+カスタムタクソノミー

https://サイトドメイン/news(投稿タイプ名)/category_news(タクソノミー名)/ターム名/

原因は、タクソノミー作成時に指定したリライトスラッグ

原因は、カスタムタクソノミー作成時に指定した、カスタムリライトスラッグでした。

デフォルトカテゴリーのスラッグが、categoryですが、
カスタムタクソノミーのカスタムリライトスラッグでcategoryを指定していたのが原因でした。

なので、ここを戻すか、別のスラッグに変更すれば大丈夫そうです。

他の方法を探してみる

原因がわかったので解決できるのですが、
カスタム投稿タイプのカテゴリーということで、
カスタム投稿タイプのカテゴリーURLをcategoryにする方法を探してみました。

カスタムタクソノミーの「rewite with_front」をfalseでできそう

カスタムタクソノミーのrewritewith_frontfalseにしたらできました!

デフォルト投稿+デフォルトカテゴリー

https://サイトドメイン/blog/category/カテゴリー名/

カスタム投稿+カスタムタクソノミー

https://サイトドメイン/news(投稿タイプ名)/category(カスタムリライトスラッグで変更)/ターム名/

まとめ

今回のサンプルは、ブログとお知らせなのでカテゴリー自体を分ける必要もなさそうですが、
実績とか商品とか、、カテゴリー内容が全く違うのでカテゴリー(タクソノミー)自体はそれぞれ分けたいけど、カテゴリーなので/post_type/category/term/〜category表記にしたい場合などに使えそうです。