【WordPress】子テーマの作成方法

最低限の記述で子テーマを作成する方法

子テーマとは

ワードプレスのテーマはセキュリティの強化や機能追加などで(テーマによるけど)時々アップデートがかかる。その時にテーマを書き換えたりしているとアップデートされたファイルに自分がカスタマイズしたページが上書きされてしまう。

そのため、カスタマイズする部分を別のところに書いておいて、アップデートによる上書きを防ごうというのが子テーマを作成する目的です。

名前通り子テーマと親テーマは親子の関係があり、子テーマに記述がない部分は親テーマの設定が反映されるようになっている。例えば、固定ページのテンプレートのみ変更したい場合はpage.phpのみ用意すれば良く、残りのアーカイブ、投稿などの諸々は親テーマの物が適用される。

子テーマの作成方法

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

FTPソフトでサーバーへ接続しワードプレスのフォルダ内のwp-content→themeへ移動。themeフォルダ内はインストール済みのテーマがフォルダごとに配置されているので、ここに作成したい子テーマのフォルダを作る。(フォルダ名はなんでもよい)

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' ); 
} ?>

style.cssを作る

/* CSS Document */

/*
Template:親テーマフォルダの名前
Theme Name:子テーマフォルダの名前
*/

作成した2つのファイルを子テーマのフォルダへアップロードする

FTPソフトなどで先ほど作った子テーマフォルダにアップロードする。ワードプレスのダッシュボードへ移動し、外観メニューから子テーマが追加されているか確認しよう。(なんかダメだったりファイルがなかったりするとエラーメッセージが表示されるので、メッセージにそって修正すればOK)

追記

子テーマのstyle.cssが読み込まれない場合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',
                        array('parent-style'),
                        filemtime( get_theme_file_path( 'style.css' ) )
        );
}

参考にさせていただいたサイト
https://jyo-to.okinawa/20170523/1157/