WordPress カスタム投稿タイプで利用するテンプレート
WordPressでは、webサイトのリンクの情報によって、呼び出されるテンプレートの優先順位が決まっています。
この階層を理解し、それぞれ必要なテンプレートを準備できていれば、指定したページを呼び出すことができます。
でも、これがわかってるんだけど、どのテンプレートを使ったらいいのか迷うことがある。。。
カスタム投稿用に必要なテンプレートってどれ?
カスタム投稿タイプ機能を追加し、専用テンプレートを準備しないと、おそらくindex.phpが呼び出されて表示されると思います。もしくは、archive.phpやshingle.phpが呼び出されて表示されます。
それで問題なければ、テンプレートの準備はいりません。
しかい、意匠やレイアウトを違う物にしたいという場合は、別のテンプレートの準備するのが一番簡単な方法だと思います。
じゃあ、カスタム投稿を専用ページで表示させるのに必要なテンプレートはどれ?
参考書によっても方法も違うし、検索してみても製作者さんによってもいろいろです。それに、WordPress自体がどんどんアップデートもされるので、ネットの上にも古い情報や新しい情報があって、どれが一番最適な方法かわかんない。。。
そんな中、エフラボがたどり着いたのは、これら二つのテンプレートを準備する方法です。
ページ名 | テンプレート名 |
---|---|
一覧ページ用 | archive-{post_type}.php |
シングルページ用 | single-{post_type}.php |
diaryというpost_typeのカスタム投稿を一覧表示させたい場合は、archive-diary.phpというテンプレートを用意する。シングルページ用には、single-diary.phpというテンプレートを用意します。
これで、それぞれdiary専用の一覧ページとシングルページが、これらのテンプレートを呼び込んで表示されるようになります。
WordPress Codexにもこの二つのテンプレートを用意する方法が記述されているので、これが今一番最適な方法だと思いたい。。。
WorPress Codex 日本語版 投稿タイプテンプレート
もし、他にいい方法があるのではあればぜひ教えてもらいたいです。