WordPress子テーマの作り方

WordPress子テーマの作り方

WordPressのテーマ、特にデフォルトのテーマをカスタマイズする前に、まず作成しておきたいのが子テーマです。子テーマを作成しておかないとテーマをアップデートした際に上書きされ、せっかくそれまでに行ったカスタマイズが全て吹っ飛んでしまうことになりかねません。

子テーマとは

子テーマとは、親となる別のテーマからカスタマイズしたいファイルのみをまとめたテーマです。こうすることで親となる元のテーマの機能を継承しながら、元のファイルは書き換えることなくカスタマイズすることができます。

テーマを表示する際はまず親テーマが読み込まれ、それに変更部分を上書きする形で子テーマが読み込まれます。

子テーマのメリット

WordPressのアップデートなどでテーマが更新された場合、元のテーマをそのままカスタマイズしていた場合は全て上書きされてしまいます。

しかし子テーマを使用していれば、親テーマが更新されても子テーマはそのままなので、大幅な改変がない限りはカスタマイズした内容が消えてしまうことはありません。

ただし親テーマの改変内容によっては機能が失われることもあります。(div要素のクラス名の変更があったり、定義されていた関数に変更があった場合など)

子テーマフォルダの作成

まずは子テーマを格納するフォルダを作成しましょう。FTPソフトで/wp-content/themes/に作成します。名前は何でも構いませんが、ここではchildにしてみました。

子テーマ

style.cssの作成

子テーマのスタイルシートを作成します。スタイルシートはメモ帳でも作ることができます。名前と拡張子はstyle.cssとしておいてください。

内容は下記の通り。

/*
Theme Name: Child
Template: twentytwelve
*/
 
@import url("../twentytwelve/style.css");

最低限2行目のTheme Nameと3行目のTemplateだけあればWordPressは子テーマと認識してくれます。Theme Nameは何でも構いませんが、Templateは継承する親テーマの名前にします。(twentyfourteenならtwentyfourteenと記入)

それだけだとphpファイルは継承されますが、スタイルシートが何も記入されていない状態になってしまうので、6行目を追加してtwentytwelveのスタイルシートを継承するようにします。(ここもtwentyfourteenなら(“../twentytwelve/style.css”)と記入)

ファイルが完成したら先ほど作成した子テーマ用のフォルダにアップロードします。

必要なファイルのコピペ

カスタマイズしたいファイルを親テーマからコピペします。

カスタマイズするファイルのアップロード

私はとりあえず下記のファイルを子テーマに置き、他のファイルをカスタマイズする場合はその時に追加でアップしています。

  • category.php
  • content.php
  • footer.php
  • header.php
  • index.php
  • search.php
  • sidebar.php
  • single.php

子テーマのfunctions.php

functions.phpに関しては、親テーマと子テーマ両方を読み込んだ上で親テーマの内容が優先されるため、親テーマで定義している関数を子テーマで上書きすることはできません。仕方ないので直接編集しましょう。

※ただしPHPがバッチリ使える方は、関数が被った時に子テーマを優先する形で記入すれば問題ありません。

twentytwelveならこんな感じ

if ( ! function_exists( 'twentytwelve_setup' ) ) :
function twentytwelve_setup() {
・・・
}
endif;
add_action( 'after_setup_theme', 'twentytwelve_setup' );
このエントリーをはてなブックマークに追加
カテゴリー: WordPress 投稿日:

コメントを残す

頂いたコメントは一読した後表示させて頂いております。
反映まで数日かかる場合もございますがご了承下さい。