web-dev-qa-db-ja.com

子テーマが親CSSを読み込まない

新しいサイトにMyStileテーマを使用しています。テーマを変更して変更内容を上書きしないように、子テーマを作成しようとしていますが、子テーマをアクティブにすると、スタイル設定はすべてWebサイトから行われるように見えます。
ここでの問題は、親の style.css ファイルを呼び出すときのどこかにあると思います。

これが私の子供のテーマの style.css にあるものです。

   /*
 Theme Name:   Blurred Edge Apparel
 Theme URI:    http://www.blurrededgeapparel.com
 Description:  MyStile Child Theme
 Author:       Blurred Edge Apparel
 Author URI:   http://www.blurrededgeapparel.com
 Template:     mystile
 Version:      1.0.0
*/


@import url("../mystile/style.css");

私はまた両親のテーマディレクトリから header.php footer.php にまたがってコピーしましたが、それでも喜びはありません。
ここに何か足りない?

1
Toby Cannon

子テーマの作成方法 を見てください。

親スタイルシートをエンキューする以前の方法は、@ importを使用して親テーマスタイルシートをインポートすることでした。これは最善の方法ではありません。親テーマのスタイルシートをエンキューする正しい方法は、wp_enqueue_scriptsアクションを追加して、子テーマのfunctions.phpでwp_enqueue_style()を使用することです。

これが提供された例です:

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

Mystileテーマは3歳のテーマで、子スタイルは header.php で固定されているため、単純に親スタイルとして使用することはできません。

これを直す最も簡単な方法は、これらのファイルをchild-themeディレクトリに置くことです。

  • ファイル style.css

/*
Template: mystile
*/
  • file child-style.css :適用したいすべての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() . '/child-style.css'
        , array('parent-style') // declare the dependency
                                // in order to load child-style after parent-style
    );
}
0
mmm