[WP Theme Dev] Twenty Seventeen の front-page.php が表示されない

動作確認のため手元でチャイルドテーマを作成していて気づきました。

[markdown]
どうやら、ダッシュボードの`設定>表示設定>ホームページの表示` で、それぞれ以下の設定を行うと該当するテンプレートが読み込まれる振る舞いになっています。

– 最新の投稿 … index.php
– 固定ページ … front-page.php

今まで `front-page.php` が存在すると、常に index.php よりも優先するものと認識していました。

“`prettyprinted
テンプレート階層
1. front-page.php
3. home.php
3. index.php
“`

> **ホームページ表示**
> サイトフロントページ、または固定ページの上にあるブログ投稿インデックスページの表示に使用されるテンプレートファイル。注意: サイトフロントページ上にある場合、フロントページテンプレートは、ブログ投稿インデックス (ホーム) テンプレートに優先します。
> 1. home.php
> 2. index.php
>
>
> **フロントページ表示**
> サイトフロントページの表示に使用されるテンプレートファイル。フロントページはブログ投稿インデックス、または固定ページを表示します。フロントページテンプレートは、ブログ投稿インデックス (ホーム) テンプレートに優先します。
>
> 1. front-page.php – 管理 > 設定 > 表示設定 セクションで「フロントページの表示」が「最新の投稿」または「固定ページ」どちらになっている場合でも使われる。
> 2. 固定ページ表示ルール – 管理 > 設定 > 表示設定 セクションの「フロントページの表示」で、「フロントページ」が設定されている場合
> 3. ホームページ表示ルール – 管理 > 設定 > 表示設定 セクションの「フロントページの表示」で、「投稿ページ」が設定されている場合
>
> [テンプレート階層 – WordPress Codex 日本語版](http://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E9%9A%8E%E5%B1%A4#.E3.83.9B.E3.83.BC.E3.83.A0.E3.83.9A.E3.83.BC.E3.82.B8.E8.A1.A8.E7.A4.BA)

が、どうやら違う様子。

functions.php を調べてみると `add_filter` している箇所がありました。

“`php:functions.php
/**
* Use front-page.php when Front page displays is set to a static page.
*
* @since Twenty Seventeen 1.0
*
* @param string $template front-page.php.
*
* @return string The template to be used: blank if is_home() is true (defaults to index.php), else $template.
*/
function twentyseventeen_front_page_template( $template ) {
return is_home() ? ” : $template;
}
add_filter( ‘frontpage_template’, ‘twentyseventeen_front_page_template’ );
“`

同じような疑問を持った方がいらっしゃいました。
テーマの設計次第で、振る舞いをかえられるようです。

> これは、通常のテンプレート階層の動作をフィルターフックを使って 適用されるテンプレートを変更しています。is_home()ならば、index.phpを適用、そうでなければ、テンプレート階層のfront-page.phpを使うという風に、テンプレート階層の動作を変更しているのです。
>
> [トピック: twentyseventeenのfront-page.phpが表示されない « サポートフォーラム — WordPress](https://ja.wordpress.org/support/topic/twentyseventeen%E3%81%AEfront-page-php%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84/)

深いところまで調べていませんが、そうなっていたという memo.

## 補遺

> * [twenty seventeen カスタマイズ「フロントページ を個別ページ的に変えてしまう」 – 私のワードプレス](https://mtac.jp/wordpress/front-page-to-page/)

[/markdown]