既存のテーマをカスタマイズする時、子テーマを使おぼえがき

クライアントの意向とか、予算の問題で既存のテーマを使うことが多いけど、結局cssやら、テンプレートファイルをカスタマイズすることになってしまう。
テンプレートファイルをまったくカスタマイズする必要がなければ、cssファイルのみcustom.cssとかにして、ヘッダの最後に読み込むようにすればいいけど、テーマを触るのであれば、子テーマを作ったほうがテーマがバージョンアップした時にカスタマイズしたファイルが全部上書きされてしまうことはないので、今回はそっちの方法のおぼえがき。

まず、テーマディレクトリ

/wp-content/themes/

に子テーマを入れるディレクトリを作成。
親テーマがこういうものだったら、

/wp-content/themes/themename(親テーマ)/

↓「_child」とかにすると分かりやすい。

/wp-content/themes/themename_child(子テーマ)/

次に子テーマの中に

functions.php(これも追記することが多いからね。)
style.css(上書きしていくので名前は変更しないで)
screenshot.png(テーマを選ぶときに表示される画像なので、これは新しく作成!)

なぞをコピー。

functions.phpは子テーマの方から読み込まれるそうなので、必要な部分だけを記述。
style.cssは最後に読み込んで必要な部分を上書きします。

あとは、style.cssのヘッダ部分に下記を記述

/*
Template:テンプレート名(abc)
Theme Name: abc_child
Theme URI:http://www.xxx.jp/abc/
Description:child theme of abc
Author:Your name
Version:1.0
*/

@import url(“../abc/style.css”);

↑これで親テーマを先にインポート。

これで設定は終了です。
後は管理画面から外観のテーマで今回作った子テーマをしていすれば、完了です。
必要なテンプレートだけをこっちのテーマディレクトリにコピーしてカスタマイズしていけるので、編集したファイルだけが分かるのも便利ねー。

一つ子テーマを使うと、、

<?php bloginfo('template_directory'); ?>

これでテーマディレクトリを指定できない。

<?php echo home_url( '/' ); ?>/wp-content/themes/themename/

こんな感じにホームディレクトリだけ指定するしかないかな。
もしくは

<?php echo bloginfo('stylesheet_directory'); ?>

これでもいいかも?

Leave a Reply

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