【WordPress】子テーマを作成してみる

■まずは親テーマ探し

お店のホームページをWordPressで新規作成予定
(自分で、ではなく業者さんに頼む予定)ですが、
そのつなぎとして現在のショップブログを新しいテーマに変更しようと計画。

現在使用中のテーマが古く、3.0以降の新機能対応などのアプデもなく、
メニューやカラムの構成などあまり自由がきかないためいろいろと調査。

そんなわけで、見つけてきたテーマは「snow summit」
カラムの構成を自由に変更できるし、ヴィジェットエリアも自由度が高い。
かつ、シンプル。

これをちょこっといじってしばらくはやり過ごそう!ってことで決定。

今は「子テーマ」という機能があるので、その機能を利用してカスタマイズ。
これをつかうとベースのテーマ(親テーマ)を利用して、
親テーマに手を加えずにカスタマイズを簡単に行える。

親テーマがアップデートしても、カスタマイズ部分が影響を受けないので、
アップデート時にあれこれいじくる時間も大幅に短縮されるはず。

■さて、その設定方法。

以下、参照したページ。

子テーマ – WordPress Codex 日本語版
WordPress、子テーマを使ってマルチサイトのテンプレートを切り替える方法 – とりあえず9JP

結局最低限やることは、

  1. テーマディレクトリに子テーマ名のディレクトリを作成
  2. style.cssをその中に作成
  3. style.cssの中に以下の記述をする。


[css]/*
Theme Name: 子テーマ名
Template: 親テーマのディレクトリ名
*/[/css]

あとは、


[css]@import url('../親テーマ/style.css');[/css]

としておけば、子テーマのstyle.cssにカスタマイズ部分を追加するだけでOK。

たったこれだけ。

うーん、思っていたよりも最初の設定は楽ちんだった。

もちろん、その他のテンプレートファイルなど全てのファイルも同様にできます。

例外として、functions.phpだけはオーバライド(上書き)ではなく追加になり、
親テーマに同じ関数がある場合はその関数だけ子テーマで書いたものになり、
他の関数は親テーマのものになります。

↑はいこれ、自分でfunctions.phpを子テーマに作ったらはまりました。

正確に書くと、子テーマのfunctions.phpが親テーマのfunctions.phpの前に呼び出されるようです。

で、同じ関数を子テーマで定義している場合、親テーマの方でfuction_existを使っていれば、
子テーマの関数が使われます。でなければ、関数の二重定義でページが真っ白になります(笑)

その場合の回避策として、以下に参考ページがあります。(試してはいませんが…)
WordPressの子テーマで、親テーマのfunctions.phpを上書きする方法 – ふじこのプログラミング奮闘記

これで心置きなく、親テーマのコードをいじったりすることなくカスタマイズできます!


2011/5/3 修正

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>