Web事業部実績紹介
Web事業部実績紹介
2012.10.26

解説!WordPressのindex.phpとhome.phpってどう違うの?

おっしー

こんにちは。食欲の秋、おっしーです。

きのこの山やきいも味は尋常ではない美味しさなので、是非一度ご賞味下さいませ。

上品な甘さ、香ばしさに秋を感じます。マロン味っぽいです。

 

私には最近、悩んでいた事があります。

WordPressのindex.phpとhome.phpの違いって何なの?

ということです。気になって夜も眠れない。

調べてみました。

まずは公式サイトのこの図を見て下さい。

私の脳内では index.php = home.php という検討違いな認識をしておりました。 何となく名前が似てる気がするのは私だけではない筈。

しかし違う。

 

index.php (全てのテンプレートが読み込まれた最後に出力される。階層的に一番最後)

home.php (存在しないが作成するとindex.phpより階層が先なので優先的に表示されるようになる)

 

ほうほう。で、結局処理してるのは何処なの?となりますね。

wp-includes/template.phpに関数があります

function get_home_template() {

	$templates = array( 'home.php', 'index.php' );

	return get_query_template( 'home', $templates );

}

index.phpを表示する前にhome.phpの検索するよ、存在しなかったらindex.phpを表示するよ、ってことです。

図を見て頂ければ解ると思いますが、index.phpは全てのテンプレートの最後に表示する順番になっています。

利点とすればTOPとその他のページでレイアウトを変更したい場合に使用するのが良いかと思います。