WordPress個別サポート
スポンサーリンク

WordPressテーマ「LOTUS (TCD039)」

テーマのindex.phpはインデックスファイルではない

WordPressテーマのindex.phpとは、一般的なWebサイトに含まれるindex.phpやindex.htmlのようなインデックスファイルとは違います

名前はindex.phpですが、サイトを表示したときにテーマのindex.phpが最初に表示されるわけではないということです。

ただし、基本的にはindex.phpにトップページのレイアウトが記述してあったり他のテンプレートを代用できるように投稿を一覧するPHPのコードが書いてあったりするので、結果として、一般的なWebサイトのインデックスファイルと同じような機能に見える場合もあります。

そのため、index.phpがインデックスファイルだと勘違いしてしまうかもしれませんが、実際は違うので注意が必要です。

本当の意味でのインデックスファイルはWordPressをインストールしたフォルダにあるindex.phpです。興味がある方は、index.phpから読み込んでいるファイルを追いかけてみてください。

テーマの必須ファイルとしてのindex.php

index.phpはテーマにとって必須ファイルです。内容はともかく、テーマフォルダには必ずindex.phpを含める必要があります。ちなみに、WordPressテーマの必須ファイルは次の2つです。

  • index.php
  • style.css

もちろん、この2つのファイルだけが存在していても実用的ではないので、構成ファイルが2つというテーマはほとんどないと思いますが、仕組みとしては上記の2ファイルがあればテーマは作成可能です。

index.phpが必須というのは、他のテンプレートの代用をするということです。

たとえば、トップページのレイアウトにはfront-page.phpが使われますが、存在しない場合はhome.phpが使われます。home.phpも存在しない場合などは、最終的にindex.phpが使われます。

この、あらゆる種類のテンプレートが存在しなかった場合に「最終的に使われる」テンプレートがindex.phpです。

固定ページのpage.phpや個別記事のsingle.phpなどのように用途が決まっているわけではありませんが、最後の最後に表示されるテンプレートがindex.phpです。ですから、実用的かどうかはともかくとして、index.phpだけはテーマに必ず含める必要があるのです。

archive.phpやcategory.phpが存在しないテーマも

index.phpが他のテンプレートを代用してくれることを利用して、いくつかのテンプレートを作らないという効率的な制作手法もあります。たとえば、index.phpに最新記事を一覧するコードを書いておけば次のようなページの代用として機能するかもしれません。

  • トップページ
  • 投稿ページ
  • アーカイブページ
  • 検索結果ページ

そんなわけで、アーカイブページのarchive.phpやcategory.phpが存在しないテーマはよくあります。それらのレイアウトはindex.phpが代用しているということです。

より実用的なテーマではindex.phpの中で上記のページタイプごとにレイアウトを切り替えているため、複雑なコードが記述されている場合があります。

実用的なテーマでindex.phpの解読が難しく感じるのはそのためです。

そのようなindex.phpを解読するには「if」という構文の理解が必須です。条件に応じて別々のレイアウトを定義したり、表示する文字を切り替えるときに使われます。

よくあるパターンでは、「カテゴリーアーカイブの場合はA、タグページの場合はB」のように条件に応じて別々のレイアウトが定義されています。PHPに慣れていない方は、次のような本を参考に、ifの仕組みから理解しましょう。

この記事をSNSで共有する
WordPressでお困りのときはご相談を
この記事を書いた西沢直木が直接、WordPress個別サポートで対応します。
こんなときはご相談を
  • WordPressの使い方(ページやメニューの作り方を教えてほしい)
  • カスタマイズ(機能の追加やデザイン調整をお願いしたい)
  • トラブル対応(画面真っ白・「ログインできない」を解決したい)
マンツーマンなので相談内容は自由です。いただいた課題をその場で解決、CSSやPHPも目の前で修正します。気軽にご相談ください。
WordPress講座の問い合わせ先

関連記事

BizVektorのカスタマイズ

WordPressカスタマイズ

WordPressによるサイト作成のヒント

WordPressプラグイン

スポンサーリンク
西沢直木によるWordPress講座の紹介
ホームページ作成講座WordPress個別サポート