WordPress のテーマ(theme)開発を学びたいと思ったとき、有名なスターターテーマ(starter theme)「Underscores」や「Sage」を触ってみた方も多いと思います。
しかし、これらはすでに多くの機能やコードが組み込まれていて、ある程度知識がある方向け。
「これから初めてテーマを作ってみたい」という初心者の方には、かえってハードルが高く感じられるのではないでしょうか。

そこで、本当に最低限だけを残したスターターテーマ「AMARGA Bone」 を作成しました。

本当に最低限のスターターテーマ「AMARGA Bone」

今回作った「AMARGA Bone」は、WordPressテーマ開発を初めて体験する人向けの“超最小スターターテーマ”です。

  • ファイルは5つだけ
  • デザインや便利機能は一切なし
  • 必要最低限の関数だけをfunctions.phpに記述

header.phpで <main> を開き、footer.phpで </main> を閉じる、というごくシンプルな構成にしています。
WordPressの基本を理解するうえで、余計な仕組みを排除し、学習に集中できる環境を用意しました。

シンプルだからこそのメリット

このテーマの最大の特徴は「余計なものが入っていない」ことです。
それによって、次のようなメリットがあります。

  • コードの全体像がすぐ理解できる
  • 自分で機能を足した効果が直感的に分かる
  • CSSフレームワークやライブラリを自由に導入できる

たとえば、style.cssに自分でデザインを追加したり、functions.phpにアイキャッチ機能を追加したり、single.phpやpage.phpを作って表示を分けたり、などなど。

一つひとつ「自分で作った感覚」を持ちながら勉強できるのではないでしょうか。
これが WordPress テーマ開発を理解する一番の近道だと考えています。

ダウンロードZIPのファイル構成

  1. style.css
  2. header.php
  3. index.php
  4. footer.php
  5. function.php

style.css

/*
Theme Name: AMARGA Bone
Theme URI: https://example.com/amarga-bone
Author: AMARGA
Author URI: https://example.com
Description: 超シンプルなWordPressスターターテーマ。最小限の構成で、自由にフレームワークを導入可能。
Version: 0.1.0
License: GPL-2.0-or-later
Text Domain: amarga-bone
*/

heder.php

<!doctype html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo('charset'); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>

<header class="site-header">
  <div style="border:1px solid #ccc; background:#f9f9f9; padding:10px; margin:15px 0; font-size:1rem; color:hotpink;">
  This template is header.php
  </div>
  <h1 class="site-title">
    <a href="<?php echo esc_url(home_url('/')); ?>"><?php bloginfo('name'); ?></a>
  </h1>
  <?php if (get_bloginfo('description')): ?>
    <p class="site-description"><?php bloginfo('description'); ?></p>
  <?php endif; ?>

  <?php wp_nav_menu(['theme_location' => 'primary']); ?>
</header>

<main id="content" class="main">

index.php

<?php get_header(); ?>

<div style="border:1px solid #ccc; background:#f9f9f9; padding:10px; margin:15px 0; font-size:1rem; color:hotpink;">
  This template is index.php
</div>

<?php if (have_posts()): ?>
  <?php while (have_posts()): the_post(); ?>
    <article <?php post_class('article'); ?>>
      <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>

      <p class="meta">
        <time datetime="<?php echo esc_attr(get_the_date('c')); ?>"><?php echo esc_html(get_the_date()); ?></time>
        <?php if (has_category()): ?> / <?php the_category(', '); ?><?php endif; ?>
      </p>

      <div class="entry-content">
        <?php the_excerpt(); ?>
      </div>
    </article>
  <?php endwhile; ?>

  <nav class="pagination">
    <?php next_posts_link(__('&larr; Older Posts', 'amarga-bone')); ?>
    <?php previous_posts_link(__('Newer Posts &rarr;', 'amarga-bone')); ?>
  </nav>

<?php else: ?>
  <p><?php _e('No posts found.', 'amarga-bone'); ?></p>
<?php endif; ?>

<?php get_footer(); ?>

footer.php

</main>

<footer class="site-footer">
  <div style="border:1px solid #ccc; background:#f9f9f9; padding:10px; margin:15px 0; font-size:1rem; color:hotpink;">
  This template is footer.php
  </div>
  <p>&copy; <?php echo date('Y'); ?> <?php bloginfo('name'); ?></p>
</footer>

<?php wp_footer(); ?>
</body>
</html>

コード内のソースについての補足

<div style="border:1px solid #ccc; background:#f9f9f9; padding:10px; margin:15px 0; font-size:1rem; color:hotpink;">
This template is index.php
</div>

このコードは、「現在どのテンプレートファイルが読み込まれているか」 を確認するためのものです。
AMARGAamargaの部分は、ご自身のサイト名に置き換えてご利用ください。

WordPressテーマ開発では、メインコンテンツを <main></main> タグで囲むことが一般的ですが、content.phpcontent-page.php など複数のテンプレートファイルを使う構成にすると、
「今どのファイルが反映されているのか?」が分からなくなることがあります。

そこで開発中は、このような臨時表示コードをテンプレートごとに仕込んでおくと、

  • テンプレート階層の動きを即確認できる
  • コードの読み込みミスに気づきやすい
  • 開発が終われば簡単に削除できる

というメリットがあります。

プレビューイメージ

今はデータが何も入っていないので、こんな感じです

ダウンロード

以下のzipをダウンロードし、テーマフォルダに配置し、外観 > テーマ で有効化をしてください。

「AMARGA Bone」は、これからWordPressテーマ開発を始めたい人が、最小のコードから安心して学べる環境を目指しました。

  • 余計なコードがないから迷わない
  • 必要なものを自分で足せるから理解が深まる
  • どんなフレームワークとも組み合わせやすい

最小限の構成から始めることで、WordPressテーマ作成の全体像がつかみやすくなります。
ぜひ、自分の学習やオリジナルテーマづくりのベースとして活用していただけると嬉しいです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です