トップに戻る
【WordPress】オリジナルテーマ自作!必要なPHPファイルは何?
 > 
WordPress > 
PHP > 
プログラミング > 
HOME > 
2023/08/08
2023/08/10

【WordPress】オリジナルテーマ自作!必要なPHPファイルは何?

WordPressでオリジナルテーマを作成する際には、WordPressを扱う上で必須のPHPファイルがいくつか存在します。

多くのブログで必要なファイルについては解説されているものの、不要なファイルまで紹介しているサイトが多く、初心者の中には「結局何のファイルが必要なの?」と混乱している方もいるのではないでしょうか。

今回は、特別な扱いになるPHPファイルの中でも、特に開発上必須になるPHPファイルを7つご紹介していきます。

※style.cssなど、テーマの設定そのものに必要なファイルの紹介は省いています。あくまでも「あった方がいいPHPファイル」という話なので、テーマのチュートリアルが見たい方は他のサイトを見てください。

1.index.php

index.phpは、テーマのデフォルトのページデザインを決めるPHPファイルです。

通常、index.htmlやindex.phpなどのファイルはトップページのものとして扱うものの、WordPressの場合は少し特殊な立ち回りをします。

WordPressの場合、基本的には投稿ページ用のPHPファイルなど、個別のPHPファイルが優先的に読み込まれます。

ただ、何もファイルがない場合は、このindex.phpが読み込まれます。

必要なファイルと言えば必要なファイルなのですが、固定ページを含め、各ページで表示する内容は別途PHPファイルを用意することがほとんどなので、index.phpをあまり使う機会はありません

しかし、テンプレートとなるPHPファイルがない場合に表示されるものになるため、ヘッダーやフッター等、基本的な情報は表示しておくべきでしょう。

2.header.php

header.phpは、ヘッダー部品のテンプレートを記述するためのPHPファイルです。

headタグはもちろんのこと、ページの内容で読み込んでほしいものもまとめて記述できます。

最終的には他のPHPファイルとまとめて一つのタグ構造になるため、bodyタグの途中まで記述し、後述するfooter.phpなどでbodyタグを閉じると運用することが多いです。

以下のようなheader.phpを用意した場合、

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body>
    <div id="site-wrapper">
        <header>
            <p>ヘッダーです!</p>
        </header>

index.phpで呼び出すと、次のようになります。

<!-- この関数を実行した位置にheader.phpが追記される -->
<?php get_header();?>

    <main>
        <p>メインコンテンツです!</p>
    </main>
<!-- 実際に表示されるHTML構造 -->

<!-- header.php -->

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body>
    <div id="site-wrapper">
        <header>
            <p>ヘッダーです!</p>
        </header>

<!-- ここまで -->

        <main>
            <p>メインコンテンツです!</p>
        </main>

3.footer.php

footer.phpは、フッター部品のテンプレートを記述するためのPHPファイルです。

header.phpはページ冒頭で呼び出す一方、footer.phpはページ最下部で呼び出されるもので、サイトの情報をまとめて表示するために必要となります。

フッター部品は軽視されるケースが少なからずあるものの、ページのまとまりを出す意味でも重要なので、必ず作るようにしましょう。

基本的な取り扱い方は、header.phpと一緒です。

<!-- footer.php -->

        <footer>
            <p>フッターです!</p>
        </footer>
    </div>
</body>
<?php get_header();?>

    <main>
        <p>メインコンテンツです!</p>
    </main>

<!-- この関数を実行した位置にfooter.phpが追記される -->
<?php get_footer(); ?>
<!-- 実行結果 -->

<!-- header.php -->

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body>
    <div id="site-wrapper">
        <header>
            <p>ヘッダーです!</p>
        </header>

<!-- ここまで -->


        <main>
            <p>メインコンテンツです!</p>
        </main>



<!-- footer.php -->

        <footer>
            <p>フッターです!</p>
        </footer>
    </div>
</body>

<!-- ここまで -->

この場合、#site-wrapper要素などのタグはheader.phpで閉じられていないため、footer.phpで閉じタグを用意することが必須となります。

この例に限らず、基本はセットで利用することがほとんどでしょう。

4.single.php

single.phpは、投稿されたコンテンツを表示する際に、第一に読み込まれるPHPファイルです。

このファイルがない場合は、index.phpが読み込まれます。

記事を表示するためのファイルになるので、タイトルや記事内容を表示するための簡易的な関数が扱えます。

<?php get_header();?>

    <main>
        <!-- 表示される投稿のタイトルを出力 -->
        <?php the_title(); ?>

        <!-- 表示される投稿の本文を出力 -->
        <?php the_content(); ?>
    </main>

<!-- この関数を実行した位置にfooter.phpが追記される -->
<?php get_footer(); ?>

上記のコードに最低限のCSSなどを適用すれば、十分ブログらしいコンテンツになるでしょう。

5.sidebar.php

sidebar.phpは、メインコンテンツの横に表示するHTML構造を記述するPHPファイルです。

使い方は自由ですが、一般的なブログやメディアの場合、記事の一覧などを表示するエリアとして活用されます。

<?php get_header();?>

    <main>
        <?php the_title(); ?>
        <?php the_content(); ?>
    </main>

    <!-- この関数を実行した位置にsidebar.phpが追記される -->
    <?php get_sidebar(); ?>

<?php get_footer(); ?>

sidebar.phpという名前ですが、必ずしもコンテンツの横に表示する必要はありません

CSSを活用して、ページの上部や下部で呼び出しても良いですし、邪魔に感じるなら追加しなくても大丈夫です。

ただ、サイトとしてはサイドバーがある方が彩があるため、完全に無くすのはおすすめできません

6.404.php

404.phpは、指定されたリンクが存在しない場合に読み込まれるPHPファイルです。

ドメイン単位ではなく、あくまでWordPressが管理するサイトやディレクトリのみが対象となります。

「指定されたページは見つかりませんでした。」のようなページを表示しても面白いですが、管理人の場合は問答無用でトップページに飛ばすような処理だけ書いています。

<main>
    <script>
        // ルートディレクトリまで飛ばす
        window.location = "<?php echo home_url("/"); ?>";
    </script>
</main>

これに関しては開発者の趣向になるので、好きなように作って大丈夫です。

ただ、イレギュラーに対処するためにも必要なファイルになることから、作らないという選択肢はおすすめではありません。

上記のような簡単な処理でも良いので、必ず作るようにしましょう。

7.functions.php

functions.phpは、WordPressの機能を拡張したり、テーマ内で使う関数を追加したりできる、非常に汎用的で重要なPHPファイルです。

詳細については、ここで以下のサイトで非常に詳しく解説されているので、「functions.phpを勉強したい」という方はこちらをご覧ください。

https://digitor.jp/textbook/wordpress-functions-php/

ただ、絶対に必要なファイルかと言われると、必ずしも作らなければならないわけではないファイルです。

WordPressをいじりたい方はfunctions.phpを使えば良いですが、関数をまとめたりすること自体は自前のphpファイルを用意しても代用できますし、変にWordPressのプログラムを刺激する可能性がある点、不用意にfunctions.phpを運用することにはリスクがあると言えます。

functions.phpは無くてもテーマ自体は作成可能なので、理解が困難な場合、無理に作らなくてもOKです。

まとめ

ここで紹介したPHPファイルは、どれもWordPressでテーマ開発する際に頻出するものばかりです。

テーマのデザインテンプレートという点では、

  • single.php
  • header.php
  • footer.php
  • sidebar.php

などのPHPファイルが特に重要なので、ここは必須項目だと言えます。

もう少し根幹的にWordPressのテーマをカスタマイズしていきたい」という方は、functions.phpをしっかり作りこむのが良いでしょう。

SHARE