WordPress(ワードプレス)で子テーマを作ったが親テーマのCSSが反映されない場合

ワードプレスの子テーマとは?

子テーマは何のためにつくるのでしょうか?

既存のテーマを編集したい場合にそのままテーマを編集するとアップデートがあったときに上書きされてしまいます。
子テーマは親テーマの設定を継承しながら、独自のカスタマイズをしたいときに親テーマをいじることなく更新することが可能になります。

子テーマの作成方法

wp-content/themes フォルダに子テーマ用のフォルダを作成します

※子テーマフォルダの名前には最後に ‘-child’ を付けることが推奨されています。必須ではないようですが、できるだけ推奨通りにした方が良いでしょう。
またフォルダ名に空白があるとエラーになるので空白は含めないようにしましょう。

その中に functions.php と style.css を用意します
スタイルシートは『スタイルシートヘッダ』と呼ばれる記述から始めないといけません。

style.css にどのテーマが親テーマになるか記述をします

@charset "UTF-8";
/*
    Theme Name: Twenty Nineteen Child
    Template: twentynineteen
    Theme URI: https://wordpress.org/themes/twentynineteen/
    Text Domain: twentynineteen
*/

Template (必須) 親テーマの指定 wp-content/themes に含まれるフォルダ名を記述します
Theme Name (必須) 子テーマの名前

最後に親テーマのスタイルシートを読み込む設定を functions.php に記述します

以下のコードを functions.php に記述しましょう

add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}

これで親テーマ、子テーマのスタイルシートが読み込まれますが、もし子テーマのスタイルシートが読み込まれないようなら
以下のコードで確実に子テーマのスタイルシートまで読み込まれるようにしましょう

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

子テーマの設定が済んだあとは、管理画面の 外観 → テーマから作成した子テーマを有効化すると子テーマが適用されます

もしカスタマイズしたい場合は子テーマフォルダ以下にテンプレートファイルを作成したり、functions.php を編集するようにしましょう

タイトルとURLをコピーしました