こんにちは、Ryohei(@ityryohei)です!

本記事では、WordPressでカスタム投稿タイプを階層(ディレクトリ)を指定して追加する方法をご紹介しています。

WordPressでカスタム投稿タイプを追加する場合、デフォルトではプラグインの有無に関係なくルート直下に追加されます。一例として、本サイトに「fukuoka」というカスタム投稿タイプを追加すると、デフォルトでは下記の階層に追加されます。

https://into-the-program.com/fukuoka/

基本的にはこれで問題ないのですが、例えば「fukuoka」というカスタム投稿タイプを「feature」という階層の下に追加したい場合もあるかと思います。

カスタム投稿タイプを追加する階層を指定したいんだけど、良い方法ないかな?

本記事では、上記の疑問にお答えしています。

では、解説していきます。

Custom Post Type UI(CPT UI)を使用する

カスタム投稿を追加する代表的なプラグインに「Custom Post Type UI(CPT UI)」があります。WordPressで開発をされている方であれば一度は使用したことがあるのではないでしょうか。それくらい有名なプラグインです。

「Custom Post Type UI(CPT UI)」でカスタム投稿タイプを設定している場合は、既存のカスタム投稿タイプ編集画面を開き下記のように設定します。下記の画像は冒頭に例としてご紹介した階層に設定するものとします。「カスタムリライトスラッグ」には実際の階層ご指定ください。


上記を設定後、「カスタムリライトスラッグ」に設定したURLにアクセスすると、指定した階層でページが表示されるかと思います。

以上でCustom Post Type UI(CPT UI)の設定は完了です。

続いて、プラグインなしで追加する階層を指定する場合の方法をご紹介していきます。

プラグインなしで追加する

プラグインを使用しない場合は「functions.php」もしくは独自のファイルにカスタム投稿タイプを追加する設定を記述しているかと思います。

階層を指定したいカスタム投稿タイプの配列のパラメータに下記を追記します。「slug」の値にカスタム投稿タイプを追加したい階層を指定します。

"rewrite" => [ "slug" => "feature/fukuoka", "with_front" => true]

以上でカスタム投稿タイプを追加する階層を指定することができます。

階層を指定する場合の注意点

他の方の環境に当てはまるかは不明ですが、本記事の内容は、私の環境では「パーマリンク設定」を下記の設定にしている場合に限り有効でした。

  • 日付と投稿名
  • 月と投稿名
  • 投稿名

パーマリンク設定を「基本」や「数字ベース」にしている方は本番環境に反映する前にローカルなどのテスト環境でお試しください。

最後に

カスタム投稿タイプはWordPressでサイト制作をするほとんどの方が使用する機能だと思います。カスタム投稿タイプに階層を持たせることでよりわかりやすいサイト構造にすることができます。カスタム投稿タイプを追加する階層を指定したい場合に本記事の内容を参考にしていただければ幸いです。

以上、WordPressでカスタム投稿タイプを階層(ディレクトリ)を指定して追加する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / ブロガー

福岡のWeb制作会社に務めるWebエンジニアです。エンジニア歴は10年程で、好きな言語はPHPとJavaScriptです。本サイトは私がインプットしたWebに関する知識を整理し、共有することを目的に2015年から運営しています。Webに関するご相談があれば気軽にお問い合わせください。