0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ゼロから作る!WordPressオリジナルテーマ開発の基本構造とテンプレート階層を理解する

Last updated at Posted at 2025-04-09

はじめに

この記事では、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オリジナルテーマを作るための基本的なステップと知識を紹介しました。

  • テーマのフォルダと最低限のファイル
  • テンプレート階層の考え方
  • 各種テンプレートファイルの役割
  • ループと関数の使い方
  • よくあるトラブルとその対処法
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?