MENU
  • プロフィール
  • 無料相談
  • サービス
    • オンライン自習講座
    • 単発レッスン
    • HP作成5回レッスン
  • 実績・お客さまの声
  • ブログ
  • お問合せ

    カテゴリー

    • WordPress
    • ブログ・SNS運営
    • 便利ツール
    • お知らせ
    • 活動実績・ご感想
    • プログラミング

    タグ

    ChatGPTHTML/CSSinstagramSEOSWELLWPプラグインアメブロエックスサーバーセキュリティデザイン見本初回無料相談制作実績単発レッスン技術ブログへ移動継続レッスン

    アーカイブ

    • 2025年10月
    • 2025年9月
    • 2025年8月
    • 2025年7月
    • 2025年6月
    • 2025年3月
    • 2025年1月
    • 2024年12月
    • 2024年3月
    • 2023年7月
    • 2023年1月
    • 2022年12月
    • 2022年11月
    • 2022年8月
    • 2022年4月
    • 2022年3月
    • 2022年1月
    • 2021年12月
    • 2021年11月
    • 2021年10月
    • 2021年9月
    • 2021年8月
    • 2020年10月
    • 2020年8月
    • 2020年7月
    • 2020年6月
    • 2020年5月
    • 2020年4月
    • 2020年3月
    • 2020年1月
    • 2019年11月
    • 2019年9月
    • 2019年8月
    • 2019年2月
    • 2019年1月
    • 2018年11月
    • 2018年9月
    • 2018年8月
    • 2018年7月
    • 2018年6月
    • 2017年9月
    • 2017年7月
    やりたいことを、自分で育てるWebの場所
    EmiのWebノート
    • プロフィール
    • 無料相談
    • サービス
      • オンライン自習講座
      • 単発レッスン
      • HP作成5回レッスン
    • 実績・お客さまの声
    • ブログ
    • お問合せ
    EmiのWebノート
    • プロフィール
    • 無料相談
    • サービス
      • オンライン自習講座
      • 単発レッスン
      • HP作成5回レッスン
    • 実績・お客さまの声
    • ブログ
    • お問合せ
    1. ホーム
    2. プログラミング
    3. WordPressの仕組み〜テンプレートファイルの優先順位

    WordPressの仕組み〜テンプレートファイルの優先順位

    2025 7/18
    プログラミング
    2018-07-282025-07-18

    「テーマを作りたいんだけど、どのテンプレートを作ればいいの?」
    「ページを表示するとき、テーマ内ファイルはどう使われるの?」

    WordPressテーマをカスタマイズしていて、こんな疑問がでてきたので、WordPressのテンプレートファイルが選ばれる仕組みについて調べてみました。

    目次

    WordPressはページによってどのテンプレートファイルを使うか決まっている

    WordPressページが表示する仕組み

    ページの種類によって、WordPress側テーマ内でどのファイルを使うかを自動で選んでくれます。

    あわせて読みたい
    WordPressが記事を表示する仕組み〜メインクエリとサブクエリ〜 この記事では、WordPressの記事を表示する仕組みとコードの意味について整理してみました。 WordPressのサイトにアクセスしてからページが表示されるまで。 WordPressが…

    テーマのファイル構成

    テーマはテンプレートファイル(PHPファイル)で構成されています。

    テーマディレクトリの中身

    <assetsフォルダ内>
    css、画像、javascriptなど、装飾に必要なファイルが入っています。

    <コンテンツを表示するための主なテンプレート群>

    • index.php、front-page.php :トップページ用のテンプレート
    • page.php:固定ページ用のテンプレートファイル
    • single.php:記事投稿用のテンプレートファイル
    • archive.php:記事一覧用のテンプレートファイル
    • 404.php:ページが見つからない時に表示するテンプレートファイル
    • search.php、seachform.php:サイト内検索用のテンプレートファイル
    • header.php、footer.php、sidebar.php、comments.php:ヘッダー、フッター、サイドバー、コメントなど、共通して使うパーツを切り出したファイル
    • functions.php:テーマ内で使う機能を記述したファイル
    • screenshot.png:テーマのイメージ画像

    最低限必要なのはこの2つ
    index.php(ページの表示を記述するテンプレートファイル)
    index.phpは他に使えるファイルがなかったときに、最終的に使われるテンプレートファイルになっています。
    style.css(ページの装飾を記述するCSSファイル)

    テンプレートファイルの優先順位

    ページの種類によって、どのテンプレートファイルを使うかは優先順位が決まっています。この順番はファイル名で判断されています。

    テンプレートファイルの優先順位


    テーマを作るときは、コンテンツに沿って、上記に応じたファイル名をつけてあげてください。

    表示中のページに、どのテンプレートファイルを使われているかを確認する

    <?php
        global $template;
        $template_name = basename($template, '.php');
        echo $template_name;
    ?>
    

    【参考記事】WordPress で使用中のテンプレートファイル名を表示する方法 – by Takumi Hirashima

    また管理バーに使用中のテンプレートファイル名を表示させるプラグインもあるようなので、テーマ開発時に使っても良さそうです。。
    【参考記事】WordPressで使用されているテンプレートファイル名を管理バーに出力するプラグイン

    共通パーツはモジュールテンプレートに書く

    WordPressのテンプレートは1ファイルに1ページというわけではなく
    パーツごとにファイルに切り出すことができます。

    共通パーツ

    基本のモジュール

    よく使う共通パーツを表にしました。

    <?php get_header();?>
        <main role="main">
            <div class="container">
                <?php get_template_part('loop'); ?>
                <?php get_sidebar(); // sidebar.phpを読み込む?>
            </div>
        </main>
    <?php get_footer(); // footer.phpを呼び出す?>
    

    モジュールテンプレートの具体的な記述方法は、トップページのテンプレートの作り方をご覧ください。

    カスタムモジュール

    上記以外にも、必要に応じて、モジュールテンプレートを作ることができます。

    上の例では、<?php get_template_part(‘loop’); ?>はloop.phpを呼び出すコードになります。

    loop.phpには記事一覧の表示コードを記述しています。

    <?php if(have_posts()):
        while(have_posts()): the_post(); ?>
            <article id="post-<?php the_ID(); ?>" <?php post_class();?>>
                <?php the_category(', '); ?>
                <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                <?php the_excerpt(); ?>
            </article>
        else : ?>
            <p>投稿が見つかりません。</p>
    <?php endif; ?>
    

    まとめ

    • アクセスしたURLに応じて、WordPress側がどのテンプレートを使うかを自動で選んでくれる
    • ページ種類によって、どのテンプレートファイルを作るかが決まる。
    • 共通するコードはモジュールテンプレートとして切り出すことができる。
    プログラミング
    技術ブログへ移動
    よかったらシェアしてね!
    中谷恵美
    東京在住のフリーランス。システムエンジニア、ITコンサルタントを経て、現在はホームページ・ブログ作成、集客などのレッスンをしています。

    趣味は、文房具、ゲーム。最近は英語学習中。運動が苦手で体が硬いのが悩み。最近、腰痛改善にピラティスを始めた。
    人気記事
    • 【CSSコピペOK】おしゃれな引用blockquoteデザイン10選
      2018-09-13
      ブログ・SNS運営
    • 【CSS】シンプルで女性らしい囲み枠デザイン48選
      2018-08-24
      ブログ・SNS運営
    • 自分でできる。アメブロのおしゃれなカスタマイズまとめ
      2022-11-04
      ブログ・SNS運営
    • ブログで使えるタイトル付き囲み枠のCSS
      2022-12-21
      ブログ・SNS運営
    • 大人かわいいブログヘッダーの作り方
      2022-11-09
      ブログ・SNS運営
    WordPressの始め方

    目次