子テーマ
このブロクでは、過去の記事で何度か説明したように、Fashionistasというテーマを使用していますが、いろいろ手を加えているので、テーマを直接変更するのではなく、子テーマ化して使用しています。変更する部分を子テーマ側に限定することで、元になった親テーマがバージョンアップしても、その影響を最小限にすることが出来ます。シンプルなテーマであれば影響をゼロに出来るのですが、Fashionistaは機能盛り沢山なので影響をゼロにすることは出来ませんでした。やり方の問題もあるかもしれませんがw
親テーマのfunctions.phpの中で、サブ機能を呼び出す処理の部分で、以下の2つ機能に関しては、親テーマではなく、子テーマのディレクトリからロードするように変更しています。親テーマを参照するには、get_template_directory()を使用しますが、子テーマを参照するには、get_stylesheet_directory()を使用します。
/** * Custom functions that act independently of the theme templates. */ require get_stylesheet_directory() . '/inc/extras.php'; /** * Custom template tags for this theme. */ require get_stylesheet_directory() . '/inc/template-tags.php';
さらに、inc/custom-widgets.phpのwidget-tabs.phpの呼び出し先を、子テーマに変更しています。
/** * Tabber Widget * * @since athemes Widget Pack 1.0 */ require get_stylesheet_directory() . '/inc/widgets/widget-tabs.php';
子テーマの作成を扱ったサイトの中には、ディレクトリをコピーして変更したいファイルのみをコピーすれば”OK”、みたいな記述をしているところもありますが、元になる親テーマの作りに依存するので確認が必要です。高機能なテーマほど、子テーマ作りは難しくなると思います。
最終更新日: 2017年8月7日