子テーマの話。
「o6asan’s netradi」をリニューアルして名前を付け替えたときに,テーマも変更した。で,このときにPink Touch 2というのをカスタマイズして使ったのだが,初めて子テーマの機能を利用した。
「子テーマ」を見に行ったら,「原文が頻繁に更新されており、情報が古くなっている可能性があります。最新版(英語)も合わせてご覧ください。」と書いてあったので,そっちの方を参考に子テーマを作った。その話を書いていなかったので,思い出したときに書いておこうと思う。
ところで,その話に入る前に!! 昨日改めて,最新版(英語)を見ていて,「Note on RTL support」というのに気付いた。Pink Touch 2にはrtl.cssがあったから,よく文章も読まずに, @import url("../pink-touch-2/rtl.css"); を入れてみたら,アラビア語みたいに右からの横書きになるのだね。ハハハ,rtl=right-to-leftだから当然でした。なのに,焦りまくりました(大笑い)。
それはさておき,子テーマの話。
- 子テーマ用のフォルダを作る。
場所は他のテーマと同じようにデフォルトのthemesフォルダの中。
子テーマのフォルダ名は「親テーマのフォルダ名-child」。
「o6asan’s netradi」の場合,pink-touch-2-child - pink-touch-2-childの中に子テーマのカスタマイズファイルを入れる。
指定可能なのは,以下の通りだが,「o6asan’s netradi」で実際に作ったのは最低限のstyle.cssだけ。- style.css (必須)
- functions.php (任意)
- Template files (任意)
- Other files (任意)
- style.cssの中は以下の通り。
/*
Theme Name: Pink Touch 2 Child
Template: pink-touch-2
*/@import url("../pink-touch-2/style.css");
#header {
margin: 0px auto 0px;
min-height: 0px;
padding: 20px 0 77px;
position: relative;
text-align: center;
width: 690px;
}一番上の/*~*/が子テーマ独自のヘッダーで,ここでどの親テーマに依存しているかが宣言される。で,定義可能な各行の説明を書くと,
-
Theme Name
. (必須) 子テーマの名前. -
Theme URI
. (任意) 子テーマのサイト -
Description
. (任意) このテーマの説明 例:初めての子テーマ。万歳! -
Author URI
. (任意) 作者のサイト -
Author
. (任意) 作者名 -
Template
. (必須) 親テーマのディレクトリ名。大文字小文字が区別される。- 注. You have to switch to a different theme and back to the child theme when you modify this line.
これがよくわからない。「テンプレートのディレクトリを変えたときは,違うテーマに切り替えたのち,子テーマを弄りなさい」というようにとれるが,それだと当たり前すぎて注に書く必要がないような気がする……ウーム
- 注. You have to switch to a different theme and back to the child theme when you modify this line.
-
Version
. (任意) 子テーマのバージョン 例: 0.1, 1.0, など
で,見ての通り,「o6asan’s netradi」の場合,必須の2行しか書いていない。
あと,
@import url("../pink-touch-2/style.css");
は当然ながら主な部分のスタイルは全て親テーマのを利用させてもらうので,インポートするってこと。#headerだけを独自スタイルにするから,これを書く。完全に独自スタイルにするならば,インポートせずに自分が望むスタイルをここに書けばいいということだ。 -
- 後は,ダッシュボードのメニューからテーマを切り替えて普通どおり使えばいいことになる。これで,親テーマのバージョンアップがあっても,大丈夫。
実際の話,この話を思い出したのは,Pink Touch 2のバージョンアップがあったからなのだ(爆)。