この記事は最後に更新してから1年以上経過しています。
説明
従来、特定の固定ページには専用テンプレートを適用できるのですが、投稿ページに適用させるためにはアクションやフィルターを利用する必要がありました。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での指定はできないのですが、この機能を利用すれば、特定の投稿ページのみ異なるデザインを適用させるのが容易になります。ちょっとしたことかもしれませんが、実用性は高い変更点ではないでしょうか。
最終更新 : 2018年05月27日 10:45
関連
お勧め
wp_print_inline_script_tag(2021年4月19日 更新)
register_rest_route(2022年8月17日 更新)
wp_determine_option_autoload_value(2024年7月22日 更新)
single_tag_title(2018年5月27日 更新)
home_url(2023年3月31日 更新)