こんにちは
子テーマは、WordPressのコアの機能で動作するので、作り方は基本的にどのテーマでも同じで、子テーマ側の、style.cssのコメントに、Template: twentytwelve
と記述すれば動作します。
Codex等では、
@import url("../twentytwelve/style.css");
を記述するように説明されていますが、これらは現実には「必要のない場合もあります」
なぜ、「必要のない場合もあります」なのか?
子テーマのレビューガイドラインがないので、実装は親テーマの設計に依存するためです。
テーマフォルダが階層化されているテーマが最近は増えていると思うのですが、こういった構成の場合で子テーマを実現するにはどうすればいいのでしょうか?
最近のテーマは、テーマフレームワークや、CSSプリプロセッサー、フォントアイコン、レティーナディスプレイ用の画像など、テンプレート以外のライブラリーを読み込んで動作するものが数多くあります。
メンテナンスや、ユーザーの利便のために、階層化されて整理されているわけですが、
このようなフレームワーク等のライブラリをオーバーライド可能にするかどうかも、テーマ設計に依存しています。
大抵のテーマの場合、functions.phpでのライブラリの読み込みは、includeやrequire で、
get_template_directory().'/hoge/hoge.php'
という形で、読み込むますが
get_template_directory()を使って読み込むものは、チャイルドテーマでオーバーライドする事を許可していないと考えるといいと思います。
関数の記述も 一般的には
if( ! function_exists( 'hoge') {
function hoge(){
}
}
のようなプラグアブルに記述されていない関数は、チャイルドテーマからのオーバーライドを、許可していません(一部例外、関数内でフィルタやアクションで対応するものがあります)
まとめると、
子テーマが親テーマをどこまでオーバーライドできるかどうかは、「テーマ次第」という事になります。
私も、テーマを作っていますが「時流に反して?フルオーバーライド可能にするぞ派です」
Raindropsというテーマは、チャイルドテーマに親と同名ホルダ/同名ファイルを作っていただくと、チャイルドテーマのファイルを適用するようにしています。
bootsというテーマは、Raindropsのチャイルドテーマですが、親テーマのchildディレクトリから、ファイルをインクルードする とっても変な仕組みを作って、チャイルドテーマのオーバーライドが限りなく可能にするべく、試行錯誤しています。
どっちのテーマも公式なので、暇なときにでも見ていただくと、チャイルドテーマのオーバーライドのために、メチャンコ 変なことばっかりしているのがわかってもらえると思います。