WordPress

WordPressテーマにindex.phpファイルが無いとサイトの外観テーマとして適用されない

WordPressテーマには、index.phpファイルがないとサイトの外観テーマとして正しく適用されないという点について説明いたします。
WordPressのテーマには、特定のテンプレートファイルが必要で、その中でもindex.phpファイルは非常に重要です。

index.phpファイルは、WordPressテーマの中で最も基本的なテンプレートファイルであり、サイトのトップページや一般的なページの表示に使用されます。
WordPressはindex.phpファイルが存在しない場合、代替テンプレートファイルを探しに行きますが、通常はこれがデフォルトのテンプレートです。

もしテーマフォルダ内にindex.phpファイルが存在しない場合、次のいくつかの問題が発生する可能性があります。

テーマがWordPressに認識されない

WordPressはindex.phpファイルがないテーマを認識しないため、適切なテーマとしてサイトに適用されません。その結果、デフォルトのテーマが表示されるか、エラーメッセージが表示されることがあります。

テーマ画面に表示されるエラーメッセージ

index.phpファイルが無いとWordPress管理画面の「外観」→「テーマ」画面下に以下のエラーメッセージが表示されます。

壊れてるテーマ
以下のテーマはインストール済みですが、足りない部分があります。
テンプレートが不足してます。独立したテーマには templates/index.html または index.php テンプレートファイルが必要です。子テーマでは style.css スタイルシートに Template ヘッダーが必要です。

テーマ画面エラーメッセージイメージ

以下の赤枠箇所にエラーメッセージが表示されます。

WordPressテーマ画面のエラーメッセージイメージ

テーマが正しく機能しない

index.phpファイルがないと、テーマが正しく機能しない可能性が高いです。
ページが表示されない、スタイルが崩れる、エラーメッセージが表示されるなどの問題が発生します。

対処方法

index.phpファイルを作成してアップロードする。
もし、home.phpファイルがあればファイルをコピーしてファイル名をindex.phpにしてアップロードして下さい。
複製するファイルが無い場合は以下、例の様なindex.phpファイルを作成して下さい。

基本的なindex.phpファイル内容の例

テーマを正しく作成するためには、index.phpファイルをテーマフォルダ内に作成する必要があります。
以下は基本的なindex.phpファイルの内容の例です。

<?php
get_header(); // ヘッダーを取得
while (have_posts()) : the_post();
  // ページのコンテンツを表示
  the_content();
endwhile;
get_footer(); // フッターを取得
?>

このindex.phpファイルは、テーマのメインコンテンツエリアを表示する基本的な構造を持っています。get_header()とget_footer()は、ヘッダーとフッターを取得するWordPress関数です。

index.phpファイルを作成した後、WordPressダッシュボードで新しいテーマを有効にして、サイトの外観テーマとして適用できるはずです。
ただし、テーマを変更する前に、現在のテーマに関するバックアップを取ることをお勧めします。

 

※流用される場合は自己責任でお願いします。
 デモページheadタグ内のGoogleアナリティクスタグは流用しないで下さい。