はじめに
この記事では、WordPressのオリジナルテーマを「自作」してみたい中級者向けに、テーマの基本構造やテンプレート階層、ファイル分割の考え方を解説します。
公式テーマに頼らず、自分のデザインや設計でテーマを構築するための第一歩となる内容です。
✅ 前提知識
- HTML/CSSの基礎知識がある
- PHPの基本文法がわかる
- WordPressがローカル環境にインストールされている(例:Local, MAMP, XAMPP)
📁 1. テーマフォルダを作成する
まず、wp-content/themes/
に自分のテーマ用フォルダを作成します。
ここでは mytheme
としましょう。
wp-content/themes/mytheme/
最低限必要なファイルは以下の2つです。
style.css
index.php
🎨 style.css の例
/*
Theme Name: My Custom Theme
Theme URI: https://example.com
Author: Your Name
Description: 自作のWordPressテーマです
Version: 1.0
*
このヘッダーコメントを記述することで、WordPressの管理画面「外観 > テーマ」に表示されるようになります。
🧱 2. テーマのテンプレート階層を知ろう
WordPressは、表示するページの種類に応じてテンプレートファイルを自動的に選びます。これを「テンプレート階層」と呼びます。
例:
投稿詳細ページ → single.php
固定ページ → page.php
カテゴリ一覧 → category.php
アーカイブ → archive.php
それらがない場合のフォールバック → index.php
テンプレート階層図
階層構造を理解しておくことで、表示されるテンプレートを意図通りに制御できます。
🧩 3. テンプレートファイル
テーマ開発では以下のテンプレートファイルを分割して構成するのが基本です。
header.php → HTMLの <head>
やナビゲーションなど
footer.php → フッター
sidebar.php → サイドバー(必要に応じて)
index.php → メインのコンテンツ部分(ループ含む)
呼び出し方の例
<?php get_header(); ?>
<main>
<!-- メインコンテンツ -->
</main>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
🔁 4. ループの基本(The Loop)
WordPressのコンテンツ出力は「ループ(The Loop)」という構文で行われます。
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<div><?php the_content(); ?></div>
<?php endwhile; ?>
<?php else : ?>
<p>記事が見つかりませんでした。</p>
<?php endif; ?>
これを理解すると、投稿の一覧や詳細ページを自由にカスタマイズできます。
🛠️ 5. functions.phpでテーマ機能を追加する
functions.php に記述することで、テーマにさまざまな機能を追加できます。
例:タイトルタグとサムネイルを有効化
<?php
function mytheme_setup() {
add_theme_support('title-tag');
add_theme_support('post-thumbnails');
}
add_action('after_setup_theme', 'mytheme_setup');
🖥️ 6. テーマの有効化と確認
作成したテーマは、WordPress管理画面の「外観 > テーマ」から有効化できます。
有効化後は、トップページや投稿ページを表示して、テンプレートが正しく機能しているか確認しましょう。
7. よくあるミスとデバッグTIPS
style.css のヘッダーコメントがない
→ テーマとして認識されません。
functions.php に文法エラーがある
→ サイトが真っ白に(error_log を確認しましょう)
テンプレートファイル名のスペルミス
→ 意図しないテンプレートが表示されます。
📌 まとめ
この記事では、WordPressオリジナルテーマを作るための基本的なステップと知識を紹介しました。
- テーマのフォルダと最低限のファイル
- テンプレート階層の考え方
- 各種テンプレートファイルの役割
- ループと関数の使い方
- よくあるトラブルとその対処法