質問: とてもわかりづらいタイトルで恐縮です。 wordpressで仮に「news」と言うslugのカスタム投稿を作成したとします。(has_archiveはtrueで) そのさいにこのカスタム投稿の一覧ページには、arhcive-news.phpが使用されるかと思います。 この時、カスタム投稿を作成しているregister_post_type() が書かれたファイルと、arhcive-news.php, single-news.php、その他カスタム投稿newsに使用する関数などを置いたファイルを、以下のようにテーマ内のサブディレイクトリにまとめたいです。 ``` / my-theme //テーマ直下 //テーマのもろもろ |- index.php |- archive.php |- single.php |- style.css / news //news関連フォルダ |- archive-news.php |- //news関連のファイル.... |- //news関連のファイル... ``` ですがこうすると、newsの一覧ページにアクセスしたさいnewsディレクトリ以下のテンプレートファイルを読み込んでくれず、テーマディレクトリ直下のarchive.phpが読み込まれてしまいます。 直下におけばいい話なのですが、カスタム投稿が複数あるため、できれば投稿ごとにディレクトリを分けて進めていきたいと思っています。 上記のようなディレクトリ構造を実現させる設定などありますでしょうか。
回答: `get_template_part()` で分岐する方法があります。 ``` ``` 【WordPressでテンプレートを呼ぶget_template_part()】 【関数リファレンス/get template part - WordPress Codex 日本語版】 https://wpdocs.osdn.jp/関数リファレンス/get_template_part#テーマサブフォルダの使用 index.php で全てのテンプレートの出し分けをするという手もあります。