サンプルサイト
1,000点以上の商用利用無料のホームページテンプレート|Template Party
フリーホームページ.net
テンプレートのダウンロード
サンプルサイトから好みのテンプレートをダウンロードする
今回は「ビジネスサイト向け 無料ホームページテンプレート tp_cool7_black_green」を使用
※ダウンロード後もサイトを使用するのでページは開いたままとする

テーマ格納フォルダの作成
テーマ(themes)を格納するフォルダを WordPressルート \wp-content\themes の下に作成
ダウンロードした tp_cool7_black_green.zip を解凍して格納する
サンプルファイルの構成
解凍イメージ
├─cool7
│ │ ├ c2.html
│ │ ├ company.html
│ │ ├ confirm.html
│ │ ├ contact.html
│ │ ├ finish.html
│ │ ├ form.html
│ │ ├ index.html
│ │ ├ link.html
│ │ ├ recruit.html
│ │ ├ service.html
│ │ └ service2.html
│ ├─base
│ │ ├ 1.jpg
│ │ ├ 2.jpg
│ │ ├ 3.jpg
│ │ ├ banner1.jpg
│ │ ├ banner1_sh.jpg
│ │ └ logo.png
│ ├─css
│ │ ├ slide.css
│ │ └ style.css
│ ├─images
│ │ ├ 1.jpg
│ │ ├ 123.psd
│ │ ├ 2.jpg
│ │ ├ 3.jpg
│ │ ├ banner1.jpg
│ │ ├ banner1.psd
│ │ ├ banner1_sh.jpg
│ │ ├ banner1_sh.psd
│ │ ├ bg1.png
│ │ ├ bg1.psd
│ │ ├ icon_menu.png
│ │ ├ icon_menu.psd
│ │ ├ logo.png
│ │ ├ logo.psd
│ │ ├ sample1.jpg
│ │ └ sample1_big.jpg
│ └─js
│ ├ fixmenu_pagetop.js
│ └ openclose.js
テーマのイメージを保存
ダウンロードしたテーマの「プレビュー」をクリックするとサイトのイメージが表示される
この画面をペイント等で テーマ格納フォルダに screenshot.jpg として保存するとテーマの見出し画像として使用される

生成AIでサンプルhtmlをWordPress定義に変換する
google gemini を開く
・テーマフォルダのhtmlファイルをgeminiに送信する
geminiで扱えるのは2025/08/01時点で最大10ファイルまでなので、ファイルエクスプローラなどからhtmlファイルを先頭から10本選択してgeminiにドロップする
・プロンプトに「これらの定義をWordPress定義に変換」と入力する
・右下の[送信]ボタンを押下

生成されたWordPressテーマのファイル
header.phpfooter.phpindex.phppage.phpstyle.cssfunctions.php
header.phpの編集
すべてのページに共通する<head>タグと、ヘッダー部分のHTML(ナビゲーションメニューなど)を定義する
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo('charset'); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php wp_title('|', true, 'right'); ?><?php bloginfo('name'); ?></title>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<header class="header">
<div class="logo">
<a href="<?php echo esc_url( home_url('/') ); ?>">サイトのロゴ</a>
</div>
<nav class="gnav">
<ul>
<li><a href="<?php echo esc_url( home_url('/service/') ); ?>">サービス</a></li>
<li><a href="<?php echo esc_url( home_url('/recruit/') ); ?>">採用情報</a></li>
<li><a href="<?php echo esc_url( home_url('/company/') ); ?>">会社概要</a></li>
<li><a href="<?php echo esc_url( home_url('/contact/') ); ?>">お問い合わせ</a></li>
</ul>
</nav>
</header>
footer.phpの編集
すべてのページに共通するフッター部分(<footer>タグ)と、</body>および</html>タグ
<footer class="footer">
<p>© <?php echo date('Y'); ?> サイト名</p>
</footer>
<?php wp_footer(); ?>
</body>
</html>
index.phpの編集
index.htmlの内容からヘッダーとフッターを切り取った部分をindex.phpとして使用
WordPressの投稿ループを挿入することで、動的にブログ記事を表示
<?php get_header(); ?>
<main class="main-content">
<h1>トップページ</h1>
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<div><?php the_content(); ?></div>
</article>
<?php
endwhile;
else :
?><p>投稿がありません。</p><?php
endif;
?>
</main>
<?php get_footer(); ?>
page.phpの編集
固定ページを表示するためのテンプレート
<?php get_header(); ?>
<main class="main-content">
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
?>
<h1><?php the_title(); ?></h1>
<div><?php the_content(); ?></div>
<?php
endwhile;
endif;
?>
</main>
<?php get_footer(); ?>
style.cssファイルの編集
テーマの名前や作成者などを書くと、WordPressがこれを読み取り、ダッシュボード画面のインストール済テーマの一覧に表示されるようになる
/*
Theme Name: My Custom Theme
Author: Your Name
Description: A custom theme based on uploaded HTML files.
Version: 1.0
*/
/* 以下に既存のCSSコードを貼り付けます */
body {
/* ...既存のスタイル... */
}
style.cssでの記述例
これらの情報は、style.cssファイルの一番最初の行から、以下のようにコメントブロックとして記述します。
/*
Theme Name: My Custom Theme
Theme URI: https://example.com/my-custom-theme
Author: Your Name
Author URI: https://example.com/your-website
Description: これは私が作成したカスタムWordPressテーマです。
Version: 1.0
Requires at least: 5.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: custom, blog, responsive
Text Domain: my-custom-theme
Domain Path: /languages
*/
/* ここからテーマのCSSコードを記述します */
body {
background-color: #f0f0f0;
}
/* ... */
WordPress テーマ情報(style.css メタデータ)
WordPressのテーマの style.css ファイルの冒頭に記述する作成者情報などの一覧です。これらはWordPressがテーマを管理画面で認識し、表示するために使用されます。
項目名(style.cssでの記述) |
説明 | 必須/推奨 |
|---|---|---|
| Theme Name | テーマの名前です。管理画面に表示されます。 |
必須 |
| Theme URI | テーマのデモサイトや詳細情報へのURLです。 |
推奨 |
| Author | テーマの作成者の名前です。 |
必須 |
| Author URI | テーマ作成者のウェブサイトやポートフォリオへのURLです。 |
推奨 |
| Description | テーマの簡単な説明です。管理画面に表示されます。 |
推奨 (実質必須) |
| Version | テーマのバージョン番号です (例: 1.0, 1.0.1)。 |
推奨 (実質必須) |
| Requires at least | このテーマが必要とするWordPressの最低バージョンです。 |
推奨 |
| Requires PHP | このテーマが必要とするPHPの最低バージョンです。 |
推奨 |
| License | テーマのライセンス情報です (例: GNU General Public License v2 or later)。 |
推奨 |
| License URI | ライセンスの全文へのURLです。 |
推奨 |
| Tags | テーマを分類するためのタグです (例: responsive-layout, blog, one-column)。WordPress.orgのテーマディレクトリで使われます。 |
任意 |
| Text Domain | 国際化(多言語対応)のためのテキストドメインです。翻訳ファイルを読み込む際に使用されます。 |
推奨 (多言語対応するなら必須) |
| Domain Path | 翻訳ファイル(.moファイル)が保存されているディレクトリのパスです。通常は |
推奨 |
functions.phpの定義
提供されたHTMLテンプレートをWordPressテーマとして適切に動作させるための基本的な設定を含んでいます。
<?php
/**
* My Custom Theme のセットアップ
*
* @link https://developer.wordpress.org/themes/basics/theme-functions/
*/
function my_custom_theme_setup() {
// テーマにタイトルタグのサポートを追加
add_theme_support('title-tag');
// カスタムロゴのサポートを追加
add_theme_support('custom-logo');
// ナビゲーションメニューのサポートを追加
// このテーマにはPC用とモバイル用(小さな端末用)のメニューがあるため、2つ登録します
register_nav_menus( array(
'primary' => esc_html__( 'PC用メニュー', 'my-custom-theme' ),
'mobile' => esc_html__( '小さな端末用メニュー', 'my-custom-theme' ),
) );
// 投稿のサムネイル(アイキャッチ画像)のサポートを追加
add_theme_support('post-thumbnails');
// HTML5のサポートを追加
add_theme_support('html5', array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
));
}
add_action('after_setup_theme', 'my_custom_theme_setup');
/**
* スタイルシートとJavaScriptをエンキュー(読み込み)
*/
function my_custom_theme_scripts() {
// style.cssを読み込みます
wp_enqueue_style('my-custom-theme-style', get_stylesheet_uri());
// HTMLファイルで参照されていたCSSファイルを読み込みます
// style.cssは自動的に読み込まれるので、ここでは他のCSSファイルを読み込みます。
wp_enqueue_style('my-custom-theme-slide', get_template_directory_uri() . '/css/slide.css');
// HTMLファイルで参照されていたJavaScriptファイルを読み込みます
// footerで読み込むように設定
wp_enqueue_script('my-custom-theme-openclose', get_template_directory_uri() . '/js/openclose.js', array(), '1.0.0', true);
wp_enqueue_script('my-custom-theme-fixmenu-pagetop', get_template_directory_uri() . '/js/fixmenu_pagetop.js', array(), '1.0.0', true);
}
add_action('wp_enqueue_scripts', 'my_custom_theme_scripts');
トップページの作成
トップページとなるファイルの作成
WordPressのトップページ(ホームページ)を表示する際のPHPテンプレートファイルの使用優先順位は「テンプレート階層(Template Hierarchy)」と呼ばれており特定の条件に基づいて、どのテンプレートファイルを使用するかを決定される
| 優先 | ファイル名 | 説明 |
|---|---|---|
| 1 | front-page.php | |
| 2 | home.php | |
| 3 | page.php | |
| 4 | index.php | |
②ヘッダファイルの作成
- テーマのフォルダに header.php ファイルを新規追加 ※ これが 各ページの共通のヘッダとなる
- index.phpとheader.phpをエディタで開
- index.phpの先頭から までを切り取り、header.phpに張り付ける ※ 今回は トップメニューも共通ヘッダに含めるため <nav>~</nav>も含めている
- index.phpを再度開き、先頭に <?php get_header(); ?> と書

・header.phpを編集