wordpressに必要?子テーマ設置のメリット&デメリット

wordpressに必要?子テーマ設置のメリット&デメリット

こんばんは。taisonです。
皆さん子テーマって使ってますか?

wordpressの親テーマのデフォルト部分と自分が施した修正部分をキレイに分ける方法です。

wordpress 子テーマ

実は私、まったく使ってませんでした 笑。
というのも、案件で設置するのはともかく自分のサイトに設置することを考えると「直に修正して普通にバックアップとった方が修正も早いんじゃ?
と思ってしまう派だったので。

今回はそんな自分の意識を変える意味もこめて、子テーマの導入方法やメリット・デメリットについて調べていきたいと思います。

wordpressで使う子テーマのメリット・デメリット

それでは子テーマにどんなメリット・デメリットがあるのか、自分なりに解釈してみたいと思います。

メリット

カスタマイズ内容は消えない
これが子テーマのキモになるのですが、自分が書いた部分について消えることはありません
親テーマを直接修正していた場合、親テーマがスタイルなどのアップデートを行うと、自分が加筆・修正していた内容が消えてしまいます。ftpで上書きみたいな状態ですね。
子テーマを使用すると、この問題を回避できます。

デメリット

テーマによってスタイルが効かない場合がある
子テーマは親テーマに対して上書きという性質を持っているのですが、親テーマが階層を動的に吐き出している(テーマのスタイルを選べるようになっているなど)場合、style.cssでは変更できないことがあります
該当ファイルを子テーマに引っ張り出して編集しようとすると、多大なファイルの検証・引っ張り出しが必要になるので、正直そこまでして子テーマを使うのか。となると疑問が残ってしまいます。
function.phpは結局2つ分の管理が必要になる
function.phpに関しては、上書きができません。加筆という扱いになるため、既に親functionにある内容については、親テーマのfunction.phpを修正する必要があります。
新規でfunction追加は子テーマでいいけど、修正は親テーマでしてねという感じで、結果的に二つのファイルを保守しないといけません。ただし、親functionを修正するケースってそこまで無いと思うので、デメリットというほどではないかもしれませんね。
※ゴリゴリ修正派は除く

このように修正部分を明確に分ける。ということは可能ですが、一部担当できない所があるのが子テーマの特徴です。
(やっぱ直接修正でバックアップの方が早いんじゃ、、、)

まあ最近ではテーマ提供会社がテーマの子テーマを配布してたりするので、そういうモノを使えば幾分かラクにはなるかもしれませんね。
使用する場合は以下の作り方を参考にしてみてください。

子テーマの作り方

さっそく子テーマを作っていきます。wordpressで子テーマを作るためには、2つのファイルが必要になりますので、サクッと作ってしまいましょう。

style.cssを作成

はじめにstyle.cssを作っていきましょう。
初めての方向けに簡略化して書きます。


/*
Theme Name: 親テーマ名 Child
Theme URI: http://example.com/親テーマ名-child/
Template: 親テーマ名
Version: 1.0.0
*/

こんな感じに記載したらstyle.cssと名前を付けて保存。
親テーマ名は、大文字・小文字を判別するので、間違いないよう記載してください。

心配な人は、ftpでwordpress→ wp-content → themes → テーマ内にあるstyle.cssをダウンロードし、中をのぞいてみてください。

同じような記述が冒頭にあるので、そのテンプレート名をコピペでOKです。

次はfanction.php


<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array('parent-style')
);
}
?>

こちらは特に変更することなくコピペしてもらえれば大丈夫です。
(年月が経って記法変わってたら適宜調整)

2つのファイルが完成したらフォルダにまとめます。
「親テーマ名-child」など、名前を決めてフォルダを作ったら、2つのファイルをぶっこんで下さい。

子テーマフォルダをftpソフトを使ってwordpressに設置する

次にまとめたフォルダをwordpress内に入れねばなりません。
ftpソフトを使って、該当箇所にファイルを設置します。

1.ftpソフトでアクセスし、wordpressの階層を選択
2.階層を下り、themesというフォルダを選択
3.themes内に親テーマのファイルがあるか確認し、親テーマと同じ階層になるよう子テーマフォルダを設置

以上が完了したらwordpressにログインし、テーマを選択しましょう。
うまく反映されていれば、子テーマの選択ができるようになっています。

子テーマにテーマ切り替えして更新作業をしてみる

さて、無事テーマ変更ができましたら、さっそく更新してみましょう。
まずcssが反映するかどうかを試します。

テーマのstyle.cssに何か書き込んでみる
適当にどこかのスタイルを変更し、更新。反映されていれば成功です。
たまにブラウザキャッシュの関係で、変更が反映されない場合があるので、反映されなかった場合は一度キャッシュ削除をしてみましょう。

次にfunction.php

またもや適当にショートコードでも作って反映してみる
適当にショートコードを作って更新してみます。


// function.phpに記述
function testFunc(){
     return "反映されたら成功";
}
add_shortcode('test','testFunc');

//記事内のどこかに記述
[test]

これで本文中に内容が反映されていれば、成功です。

導入しちゃえば後はラクラク。子テーマを有効に活用していきましょう

記法ミスや階層の問題など、導入までにあれ?となるポイントはいくつかありますが、反映できてしまえばwordpressの保守が非常にラクです。自分で書いた文は間違いなく残るし、すみ分けできますし。

それでも自分はやっぱり直接修正派かなあ。子テーマ薦めてるのか、けなしてるのかよく分からん立場 笑

とにかく良し悪しありますが、加筆が主なテーマ使用なら、全然アリだと思います。
また、記事冒頭で書いたように、加筆でなく修正をする場合、テンプレートテーマを使う場合は注意が必要です。
そのテーマのクセを理解し、うまく子テーマの設置をすすめていきましょう。
それではまた!

wordpressカテゴリの最新記事