WordPress でカテゴリーアーカイブのURLに /category を入れたくない問題を力技で解決する
今回解決させること
カテゴリーアーカイブのURLから /category を取り除く
- WordPressデフォルトのカテゴリーアーカイブのURL形式は以下。
/notes/category/カテゴリースラッグ/
- このサイトでは、個別記事のURLを以下に設定している。
/notes/カテゴリースラッグ/記事ID
- なので、上記にあわせてカテゴリーアーカイブのURLも以下のようにしたい。
/notes/カテゴリースラッグ/
- つまり、カテゴリーアーカイブのURLから
/category
の部分を削除したい。
/category なしURLにアクセスした際の表示不具合を防ぐ
問題の挙動
- カテゴリーアーカイブのURL形式は
/notes/category/カテゴリースラッグ/
- なので、以下のURLは「正しくないURL」のはず。
/notes/カテゴリースラッグ/
- が、実際にアクセスすると404にはならず、カテゴリーアーカイブの1ページ目が表示されてしまう。
何が困るのか?
- カテゴリーアーカイブの2ページ目以降の正しいURLは
/notes/category/カテゴリースラッグ/page/2
- なので、ページネーションのリンク先として生成される以下のURLは「正しくないURL」
/notes/カテゴリースラッグ/page/2
- 実際にアクセスすると、こちらは404が表示される。
つまり
カテゴリーアーカイブURLから /category
を抜いたURLにアクセスした場合、「1ページ目は問題なく見れるのに、2ページ目以降には行けないページが見れてしまう」状態になっている。