2016年07月18日

Template List Metaboxを使わずに、カスタム投稿タイプにテンプレートを設定する


こうやって書くのはいつぶりだろうか……(;・∀・)

さて、以前の日記で『Template List Metabox』という、
とても素敵なWordpressのプラグインをご紹介いたしました。

詳しくは該当する日記を見ていただくとして……

このTemplate List Metabox、
とても便利な代物ではあるのですが、
『投稿の際にテンプレートを指定してあげないといけない』
という致命的な弱点があります。

00

そのため設定し忘れてると、
困ったことにページにアクセスしても何も表示されません(;・∀・)

というわけで、こちらでテンプレートをいちいち指示しなくても、
自動でその投稿タイプ用のテンプレートが設定される方法はないものか……と少し調べました。

で、公式を見てみると……方法はちゃんとあるようです。

こちらで紹介されているのは、各ページ用とアーカイブ用のテンプレートの作成方法。
以下のファイルを作成すると、それがカスタム投稿タイプ用のテンプレートになるようです。

archive-{投稿タイプ名}.php    <=アーカイブ用
single-{投稿タイプ名}.php      <=各ページ用

こんな感じのファイル名のテンプレートを作ってあげれば、
カスタム投稿タイプの記事を作成した際に自動で適応してくれるらしい。

というわけで、実際に当サイトの『Rubyへの挑戦』を使って、
このテンプレートの作成方法を実践してみました。
ちなみにアーカイブ用のファイルは今回作りません。めんどくちゃいし、作っちゃったし(´・ω・`)

まずは、現在使ってるテンプレートを複製して、
上記の方法に従って、下記のようにリネームいたしました。
01

これは『Rubyへの挑戦』のpost-nameが『Ruby』になっているためです。
ここは各自、カスタム投稿タイプの名前に変更してくださいまし。

次に、カスタム投稿タイプの記事のテンプレート設定を元に戻してみます。
02

切り替えたら、サイトにアクセスしてみまっしょい。よいしょ。

03

うん。これなら楽ですね(・∀・)
いちいち設定しなくても問題なくこっちが作成したテンプレートで表示されました!(・∀・)

ちなみに別サイトでも試してみたところ、
テンプレートを『デフォルト』にすると何も表示されませんでした。
その場合はTemplate List Metaboxの設定画面でチェックを外し、
テンプレートの利用をやめてしまうとOKなようです。
04

さて、この方法とTemplate List Metabox、どちらを使えばいいのかという話ですが……
正直どっちでもいい気がします。
気分的な難易度? から行くとTemplate List Metaboxの方がイイ気がしますが、
正直、どちらもftpクライアント使ったり新しいファイル使ったりとかで、心理的な難易度も変わらん気がします(;・∀・)

テーマを自作したり配布したりする人なんかの場合はファイル名での設定でいいと思いますし。
どちらでもお好きな方で……という感じでしょうか。

ただし、Template List Metaboxの場合は投稿の際にテンプレートの設定がいるので、
そこのところだけは要注意ですね。

Template List Metaboxをご利用の方で、
『毎回設定するのめんどくさいよぉ(´;ω;`)』『ふぇぇ……すぐわすれちゃうよぉ(´;ω;`)』
という方は一度こちらの方法も試していただくとよろしいかもしれません。

いや、なんか『カスタム投稿タイプ』で検索したら出てきましたもので……(;・∀・)

 

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)