見出し画像

Wordpressのテーマを可逆的に編集する。

子テーマという機能を使います。

元のテーマ(親テーマ)を部分的に書き換えられます。

子テーマに同じ項目があれば、そちらを使用するようになるので

親テーマは書き換えなくても済むので可逆的に編集できる。

子テーマ用のフォルダを作る。

まずは親テーマと同じディレクトリに並列になるように子テーマのディレクトリを作る。

私はstorkというテーマを使っているので、、親テーマの入っているstorkというフォルダと同じ階層にstork_childという新しいフォルダを作る。(親テーマの中には入れてはいけない。)

style.cssを作る。

stork_childの中にstyle.cssファイルを作る。

中には

/*
Theme Name: stork child
Template: stork
*/
@import url('../jstork/style.css');

Theme Nameには子テーマの名前(フォルダ名ではない)  と Template(親テーマのフォルダ名)が必要。

functions.phpを作る

これで読み込みができるようになる。

中身は以下のコード。

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

stork_childフォルダはwp-content/themesの中に入っていて、その中にstyle.css、functions.phpの二つが入れば準備完了。

子テーマでCSSを書き換える

親テーマのCSSの後に子テーマのCSSを読み込む。
同じ項目が子テーマにあれば、後から読み込まれた方を採用するので親テーマの項目を上書きすることになる。

PHPファイル

header.php、single.phpなど同じテーンプレートファイルが子テーマ内にあると、親テーマからは読み込まれない。

ただしfunctions.phpだけは親・子テーマ両方のものを読み込む。

親テーマから子テーマにコピーして必要な箇所を編集する。

テーマのアップデートの時に子テーマで編集していれば、上書きされてしまうことを防げる。でもアップデートした新機能は使えないかも。



コーヒー飲みます。ありがとうございます。