ノンプログラマーのためのカンタンWordPressテーマ作成入門 ∼ 子テーマでテーマ作成&カスタマイズ ∼
たとえばこんなこと
ありませんか・・・?
テーマを1から作るの
難しい!!
テーマを更新したら
カスタマイズしたところが
消えちゃった!!
とにかくサクっと
テーマを作りたい!!
予算も工数も抑えたい!!
そんなとき
どうすればいいの・・・?
そんなときは
子テーマ!!
WordPressが
大好きです!
Webデザイナー
WordPressテーマ・プラグイン デベロッパー
WordPress公式ディレクトリ テーマ「 Chocolat 」
プラグイン「 MS Custom Login 」作者
WordPressスターターテーマ「 _s 」コントリビューター
http://mignonstyle.com/
mignon_style mignonxstyle
Mignon Style
Adobe
Brackets の
WordPress用
コードヒントも
作ってます!
子テーマとは
01
とさか
くちばし
はね
しっぽ しっぽ
とさか
くちばし
はね
既存のテーマの持っている機能やデザインを
そのまま受け継いだ新しいテーマの事です
既存のテーマ 新しいテーマ
子テーマとは
WordPressでは既存のテーマを「親テーマ」
親テーマを受け継いだテーマを「子テーマ」と
言います
とさか
くちばし
はね
しっぽ しっぽ
とさか
くちばし
はね
既存のテーマ 新しいテーマ
親テーマ 子テーマ
とさか
くちばし
はね
しっぽ しっぽ
とさか
くちばし
はね
既存のテーマ 新しいテーマ
親テーマを
継承
親テーマ 子テーマ
WordPressでは既存のテーマを「親テーマ」
親テーマを受け継いだテーマを「子テーマ」と
言います このしくみを
「継承」と
言います
どうして
子テーマがいいの?
親テーマを
カスタマイズした場合
1
親テーマを
カスタマイズ
更新通知
親テーマ
親テーマ
アップデートした
親テーマ
テーマを
更新
カスタマイズした
親テーマ
テーマ作者が
親テーマを
アップデート
親テーマを
上書き
親テーマに行ったカスタマイズは
親テーマを更新すると上書きされます
親テーマを
カスタマイズ
更新通知
親テーマ
親テーマ
アップデートした
親テーマ
テーマを
更新
カスタマイズした
親テーマ
テーマ作者が
親テーマを
アップデート
親テーマを
上書き
親テーマに行ったカスタマイズは
親テーマを更新すると上書きされます
親テーマを
カスタマイズ
更新通知
親テーマ
親テーマ
アップデートした
親テーマ
テーマを
更新
カスタマイズした
親テーマ
テーマ作者が
親テーマを
アップデート
親テーマを
上書き
親テーマに行ったカスタマイズは
親テーマを更新すると上書きされます
親テーマを
カスタマイズ
更新通知
親テーマ
親テーマ
アップデートした
親テーマ
テーマを
更新
カスタマイズした
親テーマ
テーマ作者が
親テーマを
アップデート
親テーマを
上書き
親テーマに行ったカスタマイズは
親テーマを更新すると上書きされます
子テーマを
カスタマイズした場合
2
親テーマを
継承
親テーマを
継承
親テーマを
継承
親テーマを
カスタマイズ
更新通知
親テーマ アップデートした
親テーマ
テーマを
更新
カスタマイズした
親テーマ
テーマ作者が
親テーマを
アップデート
親テーマを
上書き
親テーマ
親テーマ
親テーマは
そのまま
子テーマ
子テーマを
カスタマイズ
カスタマイズした
子テーマ
子テーマは
そのまま
カスタマイズした
子テーマ
子テーマに行ったカスタマイズは
親テーマを更新してもそのまま残ります
親テーマを
継承
親テーマを
継承
親テーマを
継承
親テーマを
カスタマイズ
更新通知
親テーマ アップデートした
親テーマ
テーマを
更新
カスタマイズした
親テーマ
テーマ作者が
親テーマを
アップデート
親テーマを
上書き
親テーマ
親テーマ
親テーマは
そのまま
子テーマ
子テーマを
カスタマイズ
カスタマイズした
子テーマ
子テーマは
そのまま
カスタマイズした
子テーマ
子テーマに行ったカスタマイズは
親テーマを更新してもそのまま残ります
親テーマを
継承
親テーマを
継承
親テーマを
継承
親テーマを
カスタマイズ
更新通知
親テーマ アップデートした
親テーマ
テーマを
更新
カスタマイズした
親テーマ
テーマ作者が
親テーマを
アップデート
親テーマを
上書き
親テーマ
親テーマ
親テーマは
そのまま
子テーマ
子テーマを
カスタマイズ
カスタマイズした
子テーマ
子テーマは
そのまま
カスタマイズした
子テーマ
子テーマに行ったカスタマイズは
親テーマを更新してもそのまま残ります
親テーマを
継承
親テーマを
継承
親テーマを
継承
親テーマを
カスタマイズ
更新通知
親テーマ アップデートした
親テーマ
テーマを
更新
カスタマイズした
親テーマ
テーマ作者が
親テーマを
アップデート
親テーマを
上書き
親テーマ
親テーマ
親テーマは
そのまま
子テーマ
子テーマを
カスタマイズ
カスタマイズした
子テーマ
子テーマは
そのまま
カスタマイズした
子テーマ
子テーマに行ったカスタマイズは
親テーマを更新してもそのまま残ります
子テーマに行ったカスタマイズは
親テーマを更新してもそのまま残ります
親テーマを
継承
親テーマを
継承
親テーマを
継承
親テーマを
カスタマイズ
更新通知
親テーマ アップデートした
親テーマ
テーマを
更新
カスタマイズした
親テーマ
テーマ作者が
親テーマを
アップデート
親テーマを
上書き
親テーマ
親テーマ
親テーマは
そのまま
子テーマ
子テーマを
カスタマイズ
カスタマイズした
子テーマ
子テーマは
そのまま
カスタマイズした
子テーマ
1から
作らなくて
いいのね!
既存のテーマを利用するので
カスタマイズしたいところだけ作れば大丈夫!
まずは親となる
テーマを決めよう!!
親テーマの選び方
02
WordPressのテーマ
どうやって選んでますか?
テーマがたくさんあって
どれがいいかわからない!
オススメを教えて!!
テーマには
それぞれ特徴があるよ!
どんなサイトにしたいか
考えてみよう!!
Webショップコーポレートブログ
サイトの種類は?
3カラム2カラム1カラム
レイアウトは?
サイドバーの位置は?
ウィジェットの数は?
サイトに必要な機能やオプションが
あるか調べておこう
日本語に対応している?
文字のサイズは?
英語だとちょうどいい文字サイズでも
日本語だと少し小さくて読みづらいかも
Webサイトの構成や
用途をきちんと決めて
カスタマイズが少なくて済む
テーマを選ぼう!!
子テーマの作り方
03
子テーマの作り方
03
の前に
テーマを作成するときに
必要なもの
オススメ!
WordPressのテーマで使うCSSやPHPファイルは
文字コードを UTF-8形式(BOMなし) で保存します
無料のテキストエディタ
Adobe Brackets
Windows・Mac
TeraPad
サクラエディタ
Windows
mi
CotEditor
Mac
テキストエディタ1
Windowsのメモ帳は
「UTF-8( BOMあり)」でしか
保存できないので
使用しちゃダメ!!
ダメ!! ゼッタイ!!
HTML・CSSの知識2
わからない人は
HTML・CSSをまず勉強しよう!
オススメ! 学習
サイトや
ブログも
たくさん
あるよ
テーマ名3
同じ名前のテーマがないか調べよう
テーマ名で
検索
既存のテーマと
同じ名前だと
更新通知が
来てしまいます
うっかり更新すると
上書きされます!!
アップデートした
テーマ
テーマを
更新
カスタマイズした
テーマ
テーマを
上書き
MyTheme
テーマディレクトリ
my-theme
既存のテーマ
MyTheme
テーマディレクトリ
my-theme-child
自分のテーマ
テーマの更新は「 ディレクトリ名 」と「 テーマ名 」が
既存のテーマと一致しているかをチェックしてるので
どちらかを違う名前にすればOK
既存のテーマ名を使用したいときは
野良テーマにも
独自に更新通知の機能を
設定してるテーマが
あるので気をつけよう!
子テーマの作り方
03
WordPress Codex 日本語版 https://wpdocs.osdn.jp/子テーマ
空白は「-」に
置き換えます
フォルダの作成1
(親テーマディレクトリ名)-childの
ような名前が推奨
一般的には子テーマ名の
小文字の半角英数字
フォルダ
twentyfifteen-child
子テーマ用のファイルをいれる
フォルダ(ディレクトリ)を作成します
style.cssの作成2
style.cssの冒頭に テーマの詳細 を記述します
style.css
/*
Theme Name: Twenty Fifteen Child
Template: twentyfifteen
*/
Theme Name: 子テーマのテーマ名
Template: 親テーマのディレクトリ名
style.css
/*
Theme Name: Twenty Fifteen Child
Template: twentyfifteen
*/
@import url( '../twentyfifteen/style.css' );
親テーマのスタイルシートを読み込みます
スタイルシートの読込3
@import で親テーマの
スタイルシートを読み込み
style.css
/*
Theme Name: Twenty Fifteen Child
Template: twentyfifteen
*/
@import url( '../twentyfifteen/style.css' );
親テーマのスタイルシートを読み込みます
スタイルシートの読込3
@import で親テーマの
スタイルシートを読み込み
この書き方は
今は
非推奨です
functions.php
<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style',
get_template_directory_uri() . '/style.css' );
}
functions.phpに親テーマの
スタイルシートを読み込むコードを記述
スタイルシートの読込3
コピペでOK!
今は
コレ!!
functions.php
functios.phpの始めに
PHPの「開始タグ」を記述
親テーマのスタイルシートを読み込んだ後
子テーマのスタイルシートを自動的に読み込みます
<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style',
get_template_directory_uri() . '/style.css' );
}
親テーマのstyle.cssを追加
PHPの
「終了タグ」は
書かなくても
OK
子テーマのスタイルシートが読み込まれない場合
functions.php
<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style',
get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( 'parent-style' ) );
}
子テーマのスタイルシートが読み込まれない場合
functions.php
<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style',
get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( 'parent-style' ) );
}
親テーマの
style.cssを
追加
子テーマの
style.cssを
追加
子テーマがあるときは
親テーマのスタイルシートを
自動的に読み込むテーマも
あります
親テーマのスタイルが
反映されてるか
まずは確認してみよう
functions.php
関 数
スタイル
シート
style.css
フォルダ
my-theme
フォルダのアップロード4
子テーマ用のフォルダに
style.cssとfunctions.phpを入れます
管理画面からアップロードする場合1
フォルダ
my-theme my-theme.zip
Z I P
子テーマのフォルダをZIP 形式に圧縮
管理画面の 外観 > テーマ > 新規追加
「 テーマのアップロード 」で zipファイルを選択
今すぐ
インストール
zip
ファイルを
選択
親テーマがインストールされていないときは
自動的にインストールされる
FTPでアップロードする場合2
子テーマのフォルダをWordPressをインストールしてる
サーバーのwp-content/themesにアップロード
wp-content
/themes
ディレクトリに
入れますフォルダ
my-theme
wp-contentディレクトリ
wp-contentディレクトリ
親テーマがインストールされていないと子テーマが
エラーになるので親テーマを自分でインストール
子テーマを有効化5
管理画面の 外観 > テーマ > でテーマを選んで有効化
子テーマが
表示された!
子テーマの
カスタマイズ
04
難易度 ★ ☆ ☆ ☆ ☆
リンクの色や
背景の色を
変えたい!
CSSのカスタマイズ
1
Chromeのデベロッパーツールや
FirefoxのFirebugを使って
変更を確認しながら
スタイルをカスタマイズします
CSSのカスタマイズ1
表示
↓
開発/管理
↓
デベロッパー
ツール
デベロッパーツールが表示された
Chrome(デベロッパーツール)
Firefoxのアドオン
「Firebug」をインストール
Firebugの
アイコンを
クリックして
編集画面を
表示
Firefox(Firebug)
この
アイコンを
クリック
「ページ内の調べたい要素をクリックしてください」
Firebugの使い方
①
変更したい
箇所を選んで
②
スタイルの
表示画面で
内容を確認
③
変更したい
スタイルを
記述
④
変更が
リアルタイムで
反映されるので
表示を確認
style.css
/*
Theme Name: Twenty Fifteen Child
Template: twentyfifteen
*/
.entry-title a {
color: #ab0d0d;
}
コピペで
OK!
変更内容を子テーマのstyle.cssに記述します
style.cssに
記述したスタイルが
設定されている
できた!
難易度 ★ ★ ★ ☆ ☆
投稿日を
削除したい!
テンプレートファイルの
カスタマイズ 1
2
テンプレートファイルから
投稿日の記述を探して
コードを削除します
テンプレートファイルの
カスタマイズ 1
2
Twenty Fifteen の 投稿日を削除する場合
①
Firebugで
編集したい箇所の
class名を確認
<span class="posted-on">
②
親テーマ内を
class名で
ファイル検索 twentyfifteen/inc/template-tags.php
③
編集したい箇所の
ファイルを調べる
twentyfifteen/inc/template-tags.php
④
該当する関数を
子テーマの
functions.phpに
コピペ
function(){}で
囲まれている
ところを関数と
いいます
コピペ
functions.php
関 数
子テーマ
子テーマのfunctions.php
⑤
投稿日の表示の
記述の部分を
コメントアウト
/* ∼ */
で囲みます
コメント
アウトして
表示に
問題ないか
確認します
投稿日が
消えた!
子テーマのfunctions.php
問題なければ
コメントアウト
したところを
削除
できた!
削 除
難易度 ★ ★ ★ ★ ★
投稿日の
表示位置を
変更したい!
テンプレートファイルの
カスタマイズ 2
3
テンプレートファイルの
カスタマイズ 2
3
テンプレートファイルに
投稿日の記述を
追加します
タイトルの下に投稿日を追加する場合
①
Firebugで
編集したい箇所の
class名を確認
<h2 class="entry-title">
②
親テーマ内を
class名で
ファイル検索
content.php
content-link.php
content-page.php
content-search.php
image.php
検索でファイルが
たくさん出て来たけど
どれを使えばいいか
わからない
プラグイン「show current Template」
ページに使われてるテンプレートファイルを
調べます
プラグインを
インストール
↓
有効化
トップページの場合
index.php
投稿ページの場合
single.php使用している
テンプレート
ファイル名が
表示される
twentyfifteen/index.php
get_template_part()で
指定したテンプレート
ファイルを読み込む
ここでは
content.phpを
読み込んでます
content.php
content
get_post_format()で
投稿フォーマットを
調べてます
親テーマのテンプレートファイル(content.php)を
子テーマのフォルダにコピー
コピー
content.php
content
子テーマ
content.php
content
親テーマ
子テーマのcontent.php
タイトルの下に
投稿日を表示する
テンプレートタグ
を追加
WordPressの
テンプレートタグ
を使って
表示します
CSSで
レイアウトを
調整
できた!
よく使うテンプレートタグ
WordPress Codex 日本語版 https://wpdocs.osdn.jp/テンプレートタグ
サイトのタイトルを表示
<?php bloginfo( 'name' ); ?>
サイトのキャッチフレーズを表示
<?php bloginfo( 'description' ); ?>
投稿のタイトルを表示
<?php the_title(); ?>
投稿日を表示
<?php echo get_the_date(); ?>
投稿のカテゴリーを表示
<?php the_category(); ?>
投稿のタグを表示
<?php the_tags(); ?>
投稿のパーマリンクを出力
<?php the_permalink(); ?>
サイトのURLを出力
<?php echo home_url(); ?>
投稿の内容を表示
<?php the_content(); ?>
投稿の抜粋を表示
<?php the_excerpt(); ?>
投稿のアイキャッチを表示
<?php the_post_thumbnail(); ?>
テーマディレクトリのURLを出力
<?php echo get_template_directory_uri(); ?>
親と子のファイルが読み込まれる順番
ブラウザで表示
functions.php
関 数
front-page.php
front-page
index.php
index
single.php
single
スタイル
シート
style.css
子テーマ親テーマ
page.php
page
functions.php
関 数
index.php
index
single.php
single
スタイル
シート
style.css
親テーマ親テーマ子テーマ
子テーマ
親と子のファイルが読み込まれる順番
ブラウザで表示
functions.php
関 数
front-page.php
front-page
index.php
index
single.php
single
スタイル
シート
style.css
子テーマ親テーマ
page.php
page
functions.php
関 数
index.php
index
single.php
single
スタイル
シート
style.css
親テーマ親テーマ子テーマ
子テーマ
子テーマに親テーマと同名の
テンプレートファイルがあれば
子テーマを優先して読み込む
親テーマを読み込み
↓
子テーマを読み込み
子テーマを読み込み
↓
親テーマを読み込み
親テーマにない
テンプレート
ファイルも
追加できる
親と子のファイルが読み込まれる順番
ブラウザで表示
functions.php
関 数
front-page.php
front-page
index.php
index
single.php
single
スタイル
シート
style.css
子テーマ親テーマ
page.php
page
functions.php
関 数
index.php
index
single.php
single
スタイル
シート
style.css
親テーマ親テーマ子テーマ
子テーマ
子テーマに親テーマと同名の
テンプレートファイルがあれば
子テーマを優先して読み込む
親テーマを読み込み
↓
子テーマを読み込み
子テーマを読み込み
↓
親テーマを読み込み
親テーマにない
テンプレート
ファイルも
追加できる
子テーマで
読み込まれた
テンプレートファイルは
親テーマでは
読み込まれません
テーマを構成するテンプレートファイル
WordPress Codex 日本語版 https://wpdocs.osdn.jp/テーマの作成
style.css
index.php
single.php
page.php
header.php
footer.php
sidebar.php
comments.php
screenshot.png
functions.php
スタイルシート
メインのテンプレート
投稿ページのテンプレート
固定ページのテンプレート
ヘッダーのテンプレート( get_header()で読み込み )
フッターのテンプレート( get_footer()で読み込み )
サイドバーのテンプレート( get_sidebar()で読み込み )
コメント欄のテンプレート( comment_form()で読み込み )
テーマのスクリーンショット( 1200px × 900px以内 )
関数( PHPの命令文 )用のファイル
必須
必須
読み込まれるテンプレートファイルの順番
WordPress Codex 日本語版 https://wpdocs.osdn.jp/テンプレート階層
ページの種類
404ページ
検索結果ページ
カテゴリーアーカイブ
タグアーカイブ
作成者アーカイブ
日付アーカイブ
投稿ページ
固定ページ
フロントページ
category-
$slug.php
tag-$slug.php
author-
$nicename.php
index.php
category.php
tag.php
author.php
date.php
single-post.php
page-$id.php
front-page.php
category-$id.php
tag-$id.php
author-$id.php
page-$slug.php
404.php
search.php
archive.php
single.php
page.php
home.php
優先順位高 い 低 い
CSSのカスタマイズからはじめて
慣れてきたらテンプレートの
カスタマイズをやってみよう!
公式ディレクトリに
子テーマを登録
番外編
せっかく作ったテーマ
管理画面から選べたら
かっこいいですよね・・・?
WordPress
公式ディレクトリに
登録しちゃおう!
子テーマでも登録できます!
1200px × 900px 以内
テーマを有効化したときのキャプチャ
screenshot.pngを追加1
1200px
900px
screenshot.png
readme.txtにライセンスを記述
(100%GPL または GPL互換ライセンス)
readme.txtの作成2
readme.txt
readme
style.css
style.cssの記述を追加4
/*
Theme Name: Twenty Fifteen Child
Template: twentyfifteen
Theme URI: テーマのサイトURI
Author: テーマの作者名
Author URI: テーマ作者のサイトURI
Description: テーマの説明
Version: テーマのバージョン
License: ライセンス
License URI: ライセンスのURI
Tags: テーマのタグ
*/
追加
フォルダ
子テーマ
style.css
スタイル
シート
関数
functions.php
readme
readme.txt
1200px
900px
screenshot.png
これだけで
OK!
カスタマイズしたテンプレートなどが
あるときは全部入れます
Theme-Checkプラグインで問題がないか確認
テーマの
ガイドラインに
適合しているか
チェック
zipファイルにして
テーマの登録のページからアップロード
 テーマのアップロード https://wordpress.org/themes/upload/
形式:zipファイル
ファイルサイズ:7Mまで
テーマレビュアーがテーマをチェックして
修正箇所がある場合はフィードバックがかえってくるので
修正してテーマの登録のページからアップロード
修正のたびに
style.cssの
バージョン番号を
あげます
Feedback
テーマレビュアー
OKなら公式ディレクトリに登録される
公式ディレクトリに登録される
テーマレビュアー
L I V E
登 録
まとめ
親テーマを決める1
子テーマのフォルダ
style.css
functions.phpを作成
2
スタイルをカスタマイズ3
テンプレートファイルを
カスタマイズ
4
子テーマの手順
思ったよりカンタン!
まずはやってみよう
わからないことは
本やブログで調べたり
フォーラムで質問しよう
ご清聴
ありがとうございました
Mignon Style
@mignon_style mignonxstyle

ノンプログラマーのためのカンタンWordPressテーマ作成入門 〜子テーマでテーマ作成&カスタマイズ〜