どうもタカフです。
新しくブログを始めるにあたってSANGOを購入して初期構築は完了したのですが、既存テーマでは物足りない部分は何かとカスタマイズしたくなるんですよね。
でも、WordPressのテーマってアップデートすることがあり、その方法って適用テーマのディレクトリをそのまま上書きする方法なんですよね。
だから適用テーマ内でファイルの編集をしてカスタマイズしても、このテーマアップデートで無慈悲にもカスタマイズ内容が消えてしまうわけなのです。
そこでその問題を解決する方法が適用テーマの小テーマを作る方法なわけです。
適用テーマを親テーマとする子テーマを作成して小テーマをカスタマイズしていけば、親テーマのアップデートの恩恵も授かりつつ、カスタマイズ内容も消えないものとなります。
(小テーマを作ったら適用テーマとするのは小テーマの方です。)
それでは小テーマの作り方です。
小テーマディレクトリの作成
themesディレクトリに小テーマディレクトリを作っていくのですが、WordPressの小テーマの慣習に従うと、[親テーマ名]-childがいいたみいです。
僕は sango-theme を使っているので sango-theme-child としました。
style.cssの作成
次に小テーマディレクトリの直下にstyle.cssを作成し以下のような内容で記述します。
/*
Theme Name: SANGO Child
Theme URI: https://kahoo-blog
Description: SANGOの小テーマです。
Author: Takafu
Author URI: https://kahoo-blog
Template: sango-theme
Version: 1.5
Text Domain: sango-theme-child
*/
functions.phpへの記述
style.cssを作ったらそれを、親テーマのstyle.cssを読み込み後に小テーマのstyle.cssを読み込む設定をfunctions.phpに記述していきましょう。
先程と同様に、小テーマディレクトリにfunctions.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', ['parent-style'] );
// 追加でjsもカスタマイズしたいなら以下のようにscript.jsファイルを作って読み込む
wp_enqueue_script( "script.js", get_stylesheet_directory_uri() . '/script.js', '', [], '1.0', true );
}
これにより親テーマのcssを適用しつつ、小テーマのstyle.cssにてcssをカスタマイズしていけばよいわけです。
小テーマの適用
小テーマの最小限の作り方はこれだけです。WordPressの管理画面で見ると小テーマが選択肢として増えていることがわかります。
小テーマもまた一つのテーマなのでテーマ画像とかを設定してもいいかもしれません。親テーマからコピーするだけでもいいと思います。
小テーマが出来たらそれを有効化しましょう。
注意点としては、小テーマを有効化すると親テーマでの設定([外観] – [カスタマイズ])は引き継ぎませんので、小テーマでも同じようにテーマ設定を再度する必要があります。
これであとは小テーマの中のファイルに対してガシガシとカスタマイズしていけば幸せになれるというわけです。
現場からは以上です。