カスタム投稿タイプを生成するさいに、
個別ページは必要だけれど、
アーカイブページ(一覧ページ)を持たせたくない場合について。
たとえば ‘custom_aaa’ という post_type を登録、
rewriteパラメータを ‘aaa’ にした場合。
個別ページのパーマリンク構造は下記のようになる。http://firstaudience.com/aaa/%postname%/
※%postname%/のところは設定による。
この時点で自動的にアーカイブページ(一覧用ページ)が
上位URLとして生成される。http://firstaudience.com/aaa/
通常はこの構成は非常に役立つんだけれども
サイト構造上アーカイブページが不要な場合など、
このURLがイキになってしまうことが邪魔になる場合がある。
解決方法
1. function.php
register_post_type の
has_archive オプションを false にする。
'has_archive' => false
これだけで済むかと思ったが、うまくいかなかったのが今回のハマりポイント。
これだけだとまだアーカイブページのURLは生成される。
rewrite を設定している場合は、下記の設定も必要だった。
2. rewrite オプションの with_front を false にする。
'rewrite' => array( 'slug' => 'aaa', 'with_front' => false ),
has_archive が false かつ rewrite を設定している場合は、
以上の方法で、上位ディレクトリを生成しないようにできる。
コメントを残す