特定のカスタム投稿タイプのカスタムファイルを作成できることはわかっています
残念ながら、この方法は1つのケースで機能します。
- page-results.php forCPT=結果
- ただし、CPT=ニュースであるpage-news.phpでは機能しません
- または、CPT=イベントであるpage-events.phpでは機能しません
なんで?そのようなファイルを1つだけ持つことができますか?
特定のカスタム投稿タイプのカスタムファイルを作成できることはわかっています
残念ながら、この方法は1つのケースで機能します。
なんで?そのようなファイルを1つだけ持つことができますか?
これはあなたのためにいくつかのことを明らかにするかもしれません:
問題は、カスタム投稿タイプが実際には「ページ」ではないことです。「ページ」でさえ、技術的には実際のページではなく、「ページ」と呼ばれる階層的なカスタム投稿タイプです。紛らわしい?はい。しかし、狂気への方法があります。
「ページ」と呼ばれる組み込みの投稿タイプは、「投稿」と呼ばれる組み込みの投稿タイプとは機能が異なります。そのため、独自のデフォルトのテンプレートと階層があります。ただし、Wordpressではコアを拡張して独自のカスタム投稿タイプを含めることができますが、ルートでは「投稿」と見なされ、「ページ」ブランチには従いません。
標準のテンプレート命名規則に従っている場合の2つのオプションは、カスタム投稿アーカイブテンプレートに「archive-results.php」、「archive-news.php」、および「archive-events.php」という名前を付けることです。
カスタム投稿の単一投稿テンプレートについては、「single-results.php」、「single-news.php」、および「single-events.php」という名前を付けます。
3つのカスタム投稿タイプすべてのアーカイブまたは単一のテンプレートにフォールバックする場合は、個別の投稿タイプを定義せずに、「archive.php」ファイルと「single.php」ファイルを定義してください。
カスタム投稿タイプテンプレートの詳細については、こちらをご覧ください