上の写真は、チャイルドテーマホルダにorange.pngを追加しています。
Twentyelevenは、WordPresの付属テーマです
このテーマから、自分流を極めようとする人へ
http://theme.fm/2011/07/how-to-create-a-child-theme-based-on-twenty-eleven-791/(b:title)から、チャイルドテーマを使ったカスタマイズについてのチュートリアルを紹介します。
ゴール
Twentyeleven の管理画面にあるカラースキーマに自分自身の配色設定を追加したチャイルドテーマの作成です
必要な知識スキル
このページの内容を理解するためには、PHPの関数が理解できる事、HTML CSSの基本的な知識を有する事が必要です。
体験的に学びたい人は、コピーペーストでなにがおきるのかを体験してみてください。
事前準備
UTF-8BOMなしで、保存が出来るテキストエディタの用意
http://ja.forums.wordpress.org/topic/155(b:title)
Step1
- ホルダーの作成
-
- twentyeleven-orange という名前のホルダーを作ります。
- ホルダーにファイルを追加します
-
- functions.php
- orange.css
- style.css
- 3つの中身を何も書いていないファイルを用意します。
Step2
最も重要なファイルstyle.cssを編集します。
以下のコードを参考に書いてみましょう
上記のコードに、@import ルールが使用されています。このルールを使っても正常に動作しますが、その後2015年の今は、@import ルールよりも
WordPressの wp_enqueue_style()を使いCSSをlink 要素として読み込む事が推奨されるようになりました。
これは、スタイルシートの読み込み時のパフォーマンスの差がその根拠になっています
どちらを使っても、動作は適切に行われますが、新しいwp_enqueue_style()を使った呼び出し方法についても、調べておくといいでしょう
body {
background: orange;
}
#access .menu li a {
color: orange;
}
#access .menu ul.children > li:hover > a,
#access .menu ul.sub-menu > li:hover > a,
#access .menu > ul > li:hover > a,
#access .menu > li:hover > a {
color: white;
background: orange;
}
#access .menu ul.children li a,
#access .menu ul.sub-menu li a
{
background: #333;
border-bottom: dotted 1px #555;
color: orange;
}
Step4
PHPの魔法をかけていきます。
functions.php
<?php
add_filter( 'twentyeleven_color_schemes', 'twentyeleven_color_schemes_orange' );
add_action( 'twentyeleven_enqueue_color_scheme', 'twentyeleven_enqueue_color_scheme_orange' );
function twentyeleven_color_schemes_orange( $color_schemes ) {
$color_schemes['orange']= array(
'value'=> 'orange',
'label'=> __( 'Orange', 'twentyeleven' ),
'thumbnail'=> get_stylesheet_directory_uri() . '/orange.png',
'default_link_color'=> '#FFA500',
);
return $color_schemes;
}
function twentyeleven_enqueue_color_scheme_orange( $color_scheme ) {
if ( 'orange'== $color_scheme )
wp_enqueue_style( 'orange', get_stylesheet_directory_uri() . '/orange.css', array(), null );
}
?>
add_filter( 'twentyeleven_color_schemes', 'twentyeleven_color_schemes_orange' );
この、add_filterという関数を使って、Twentyelevenの管理画面にメニューを追加します。
twentyeleven_color_schemes_orangeという関数は、具体的な管理メニューに追加する内容を決めています。デフォルトのリンク色、スキーマ画像のURL(チャイルドテーマのorange.pngがあれば管理画面に表示されます)
__( ‘Orange’, ‘twentyeleven’ )というのもPHPの関数で、Orangeというラベル表示するものです。
twentyeleven_enqueue_color_scheme_orangeという関数は、orange.cssがテーマヘッダーに組み込まれるようにorange.cssを登録しています
このように、HTMLとCSS、PHPを少し使うだけで、自分のカラースキーマが管理画面にきちっと登録されたチャイルドテーマの出来上がりです。

