見出し画像

Wordpress:物理フォルダ名とカスタム投稿のスラッグ名がかぶるとき

既にある名前で物理ディレクトリがあると、カスタム投稿の表示ができない

例えば、
・/special というディレクトリが既に物理的に存在する状態で、そこにはpdfやら静的ファイルやら画像ファイルなども置いてある。
・そこに、specialというスラッグでカスタム投稿を設定したい。/special にアクセスしたらspecialの投稿アーカイブを表示させたい。
・でもいつものようにカスタム投稿を設定したのに /special (アーカイブページ)にアクセスすると403になってしまう。
・/archive/special/ なら表示できる

こんな状況になったときの解決方法です。

やり方

(1) Wordpressのカスタム投稿設定はいつも通り行います
(2) specialディレクトリに、ルートディレクトリにあるindex.phpをコピーします。
(3) そのindex.phpを編集します。

//require( dirname( __FILE__ ) . '/wp-blog-header.php' );
//↓
require( dirname( __FILE__ ) . '/../wp-blog-header.php' );

これで無事、物理ディレクトリがある状態で、そのスラッグ名の投稿アーカイブを表示できるはずです!

以上です!

この記事が気に入ったらサポートをしてみませんか?