4.4では投稿ページも専用テンプレートが適用できる

(4.4.0以降)
4.4では投稿ページも専用テンプレートが適用できる - もうアクションやフィルターを使わなくても大丈夫

説明

従来、特定の固定ページには専用テンプレートを適用できるのですが、投稿ページに適用させるためにはアクションやフィルターを利用する必要がありました。4.4では特定の投稿ページに標準で専用テンプレートを適用できるようになりそうです。

beta2、beta3がさくさく公開され、ソースコードを追い切れていないわけです。そんな中でふと見つけたのが、今回紹介する内容です。

適切なテンプレートファイルを用意してテンプレート内の振り分け処理を無くす」で紹介しているようにWordPressのテーマではさまざまなテンプレートが利用できます。これまでのテーマでは、「page-{スラッグ(投稿名)}.php」や「page-{投稿ID}.php」という名前でテンプレートを用意しておけば特定の固定ページに専用のテンプレートを適用できましたが、これはあくまでも固定ページのみ。投稿ページで同じようなことを実現するためには、template_redirectアクションやtemplate_includeフィルターなどを利用する必要がありました。

4.4では、投稿ページ向けのテンプレートの適用順が変更されています。

優先度テンプレートファイル名
single-{投稿タイプ名}-{スラッグ(投稿名)}.php [4.4.0]
single-{投稿タイプ名}.php
single.php

たとえば標準の投稿ページで、スラッグが'hello'の場合、single-post-helllo.phpというファイル名のテンプレートを用意しておけばいいわけです。固定ページのように投稿IDでの指定はできないのですが、この機能を利用すれば、特定の投稿ページのみ異なるデザインを適用させるのが容易になります。ちょっとしたことかもしれませんが、実用性は高い変更点ではないでしょうか。

関連

お勧めコンテンツ

get_terms(2010年12月9日 登録)

array get_terms( mixed $args = array(), mixed $deprecated = '' mixed $taxonomies, [ mixed $args = '' ] )
条件を指定してタクソノミー情報を検索し、マッチしたすべてのデータを取得する。

wp_upload_bits(2014年11月27日 登録)

array wp_upload_bits( string $name, null $deprecated, mixed $bits [ , string $time = null ] )
データをアップロードファイルとして保存する。

has_image_size(2014年4月24日 登録)

bool has_image_size( string $name )
イメージサイズが登録済みか調べる。

get_categories(2010年12月2日 登録)

array get_categories( [ mixed $args = '' ] )
条件を指定してカテゴリー情報を検索し、マッチしたすべてのデータを取得する。

has_shortcode(2013年8月4日 登録)

bool has_shortcode( string $content, string $tag )
コンテントの中にショートコードが含まれているか調べる。

最終更新日時 : 2015-11-07 12:08