ワードプレスを長らく運用していると更新が必ず必要になります。セキュリティの問題もあるので、更新は必須です。
ただ、テーマをいじって改造している場合には、この更新がとても煩わしいのです。。。
例えば
- single.phpが上書きされてしまった
- functions.phpが上書きされてしまった
- データベースの読み込み先テーブルを追加していたのに元にもどってしまった
などなどです。
WordPressテーマやWordpressのアップデートがあっても「子テーマ + myプラグイン」で改造していれば、上書きの心配は不要です。
(データベースに新しいテーブルを追加して利用する場合はdb.phpも準備した方がよいです。)
①子テーマ作成
子テーマを利用すれば、親テーマの一部だけを改変することが可能です。
たとえばpage.phpだけをカスタマイズする場合には、子テーマ内でpage.phpを作成します。
すると
page.php ⇒ 子テーマのpage.php
他のファイル ⇒ 親テーマのファイル
というふうに、子テーマにあるファイルは子テーマのものが優先、子テーマにないものは親テーマのファイルを利用する。ということが可能です。
もしテーマのアップデートがあったとしても、親テーマがアップデートされるだけなので、子テーマでカスタムした内容はそのまま維持されます。もう更新にビクビクする必要はないわけです。
子テーマを作る手順
例として現在のワードプレス デフォルト テーマ Twenty Seventeenの子テーマを作ってみます。
子テーマ フォルダを作成(必須)
/wp-content/themes/ がテーマフォルダです。
デフォルトだと「twentysixteen」とか「twentyseventeen」などのフォルダが存在するはずです。
このディレクトリに新しく子テーマを格納するためのフォルダを作成します。
フォルダ名はなんでも良いですが、わかりやすく「twentyseventeen_child」とでもしておきましょう。
子テーマ フォルダにstyle.css作成(必須)
/wp-content/themes/twentyseventeen/
次はstyle.cssを上記で作成した子テーマフォルダの中に作ります。style.cssがないと親テーマを判別できないので、テーマとして機能しませんので、style.cssは必ず必要です。
以下のように書きます。
1 2 3 4 5 6 |
/* Template:twentyseventeen Theme Name:twentyseventeen_child */ //以下に追加で読み込みたいCSSを記載します。 |
Template:twentyseventeen
↑この「twentyseventeen」の部分がとても重要です!
親テーマを指定しているのが、上記の部分だからです。1文字でも間違うと正しく親テーマを認識してくれません。
Theme Name:twentyseventeen_child
↑この「twentyseventeen_child」の部分で子テーマの名前を決めています。適当に決めてもよいですが、twentyseventeen_childのようにしておくのが分かりやすいと思います。
※簡単にするために最小限の記載にとどめていますが、上記できちんと機能します。
子テーマ フォルダにfunctions.php作成(必須)
/wp-content/themes/twentyseventeen/
子テーマ フォルダにfunctions.phpも作成しましょう。
以下のように記載します。
1 2 3 4 5 |
<?php add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' ); function theme_enqueue_styles(){ wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); } |
functions.phpに記載したのは、「親テーマのstyle.cssを読み込む」という意味です。
これで、親テーマのsytle.cssをデフォルトとして読み込み、子テーマのstyle.cssを追加で読み込むという形になります。
②マイ プラグイン作成
functions.phpにどんどん関数を作って記載していくのも可能ですが、functions.phpに全部書いてしまうと管理が大変です。
functions.phpに直接書くと「どこに何を書いたかわからない」「一部だけ停止させたいけど難しい」などなど。
簡単なのでマイ プラグインを作ってしまいましょう。
マイ プラグインを作る方法
/wp-content/plugins/
上記フォルダ(デフォルトではakismetなどが入っているはずです)に新しいフォルダを作成します。
好きな名前のフォルダで大丈夫です。「my-plugin」とでもしておきましょう。
/wp-content/plugins/my-plugin/
作成したフォルダ内にmy-plugin.php(好きなファイル名でOK)を作成します。
1 2 3 4 5 6 7 8 |
<?php /* Plugin Name: my-plugin Description: My Plugin For WordPress */ // 以下にコードを記載します。 |
ワードプレスにログインして作成したプラグインを有効化します。(my-pluginというプラグインが見つかります)
「/wp-content/plugins/my-plugin/」フォルダ内のPHPファイルは最初に読み込まれるようになるので、好きなPHPファイルに分割して自分にわかりやすく整理できるのが、myプラグインを作成する一番の利点です。
もちろん「/wp-content/plugins/my-plugin2/」とか他のプラグインフォルダを作成して、別のプラグインを作ることも可能です。
functions.phpに全部記載していた方は、これを機にプラグイン化してみても良いのかもしれません。とても管理がラクになる上、整理しやすいのでオススメです。
コメント