かれこれ2年ほど運営しているこのブログ、そろそろテーマを着せ替えしてもようかしら、と久々にWordPressの中身を触っていました。「トップページに固定ページを表示するのどうすればいいんだっけ?」と言いながら、悪戦苦闘してました。「index.php」と「home.php」の違いについて、備忘録も兼ねてまとめておきました。WordPressカスタマイズに興味のある方は是非ご覧ください。
トップページ表示に使われる優先順位の違い
結論からいいますと、WordPressのテーマファイル「index.php」と「home.php」の違いは、トップページ表示の優先順位にあります。どちらが優先されるのか?なぜ、そんなヘンテコな構造になってるのか?についても、サクッと解説しますね。
home.php の方が優先して表示される
テーマファイルにhome.phpが存在する場合は、トップページの表示をする際にはhome.phpの内容が使われます。サイトでもブログでもトップページって特別な存在ですよね。トップページだけにあるレイアウトやパーツを持っている可能性も高いです。
そんなときに、home.phpにガリガリとトップページ特有の処理を書くことができる、というのがメリットです。PHPファイルですので、index.phpファイルに条件分岐をさせて書くことも可能です。可能ですが、やはり1ファイル内での複雑さが増して、メンテナンスが少し面倒になってしまいます。
テーマによっては、home.phpが存在しないものもありますが、index.phpファイルをコピーしてテーマフォルダ内でhome.phpと名前を変えることで使えます。
index.php は最後の砦の役割
一方のindex.phpはというと、こちらは必須のテーマファイルになります。なぜ必須かというと、index.phpは最後の砦の役割を果たしているからです。WordPressではサイトを表示するために条件によって、またはカテゴリによって装飾を変えたりできます。この条件の時はこのテーマファイルで表示、この条件の時はこっちのテーマファイルで表示、といった具合です。
この表示のための条件分岐をしたときに、該当するテーマファイルが見つからない、なんてミスも起こり得ます。普通に考えると404エラーなどが表示されますよね。でも、WordPressは該当するテーマファイルが存在しない場合にindex.phpを使って表示を試みてくれます。
「アクセスしてきてくれてるユーザーに、カッコ悪い所見せられない。」そんな男気を感じますね。ですので、この記事で比較しているhome.phpが存在しない場合もトップページはindex.php が使われます。
WordPressを初めて使うなら読んでおくべき本
WordPressってものすごく便利ですし、SEO的にも有利だし、役立つプラグインもいっぱいあります。サイト・ブログづくりのデファクトスタンダードと言っても過言ではない愛され方です。それだけに関連書籍も非常に多いです。
多いんですが、「これからワードプレスを使い始めたいんですけど、参考になる本とか教えてください。」と質問されたら、私はこの本をオススメします。
>> 本格ビジネスサイトを作りながら学ぶ WordPressの教科書 Ver.4.x対応版
「プログラムが苦手」という方やデザイナーの方にもわかりやすく書かれています。私がイチ押しする最大の理由はこの本を手掛けているのがプライムストラテジーさんだからです。おそらく日本で一番大規模にWordPressを使い込んでいるんじゃないかと思っています。
どれだけ大規模なWordPressサイトでも、鬼のような速さの表示速度を実現する。そんな会社さんです。WordPressの高速表示に特化したKUSANAGIというサーバーを提供してくれてたりもしますね。WordPressのリーディングカンパニーが書いてるだけに内容も濃いです。この記事で紹介したテーマファイルの優先順位についても、もっと掘り下げて書かれています。参考にしてみてください。
まとめ
いかがでしたか?この記事では、『WordPressのトップページ編集「index.php」と「home.php」の違いとは?』について紹介しました。ちょっとしたことを知ってるだけで、WordPressの見た目をカスタマイズしたいときに悩まなくて済みます。これをお読みいただいていて、WordPressについて疑問点などありましたら、コメント欄からご質問ください。私の回答できる範囲でお答えいたします。
最後まで読んでいただき、ありがとうございます。
コメント