web-dev-qa-db-ja.com

子テーマの.cssファイルは、親の.cssファイルをオーバーライドしていません

先月、私は最初のWebサイトを作成しました。これまではコーディングの知識がなかったので、学んだことはすべて私にとって新しいことでした。

先週の私の問題は、私の子供のテーマの.cssファイル(そしてphp。ファイルですが、それは別の問題です)が、それらの親の.cssファイルを上書きしていないことです。私は一週間中解決策を探そうとしてきましたが、今のところ成功していません。

これは私が子のfunctions.phpファイルに入れたコードです

=================================================== =============(5) - このコードでは、子テーマを最後に読むことができますが、他のcss(他のものに頼る必要がありますか?)ではエラーが発生します/

<?php
function my_theme_enqueue_styles() {

    $parent_style = 'adforest-original-modern'; // This is 'adforest-style' for the AdForest theme.

    wp_enqueue_style( $parent_style, get_template_directory_uri().'/css/modern.css' );
    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri().'/modern.css',
        array( $parent_style ),
        wp_get_theme()->get('1.0.0'));
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );

function wp_67472455() { 
  wp_dequeue_style( 'adforest-theme-modern' );
  wp_deregister_style( 'adforest-theme-modern' );
} 
add_action( 'wp_print_styles', 'wp_67472455', 100 );
?>

=================================================== ========

(6) - このコード作業の後で、誰もこのコードで潜在的な問題を参照できませんか。

<?php
function my_theme_enqueue_styles() {
  /* =================== modern.css ==========================*/
    $parent_style = 'adforest-original-modern'; // This is 'adforest-style' for the AdForest theme.

    wp_enqueue_style( $parent_style, get_template_directory_uri().'/css/modern.css' );
    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri().'/modern.css',
        array( $parent_style ),
        wp_get_theme()->get('1.0.0'));

   /* =================== default.css ==========================*/
    wp_enqueue_style( 'defualt-original-color', get_template_directory_uri().'/css/colors/defualt.css' );
    wp_enqueue_style( 'child-defualt-color',
        get_stylesheet_directory_uri().'/defualt.css',
        array( 'defualt-original-color' ),
        wp_get_theme()->get('1.0.0'));
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles', 100 );



function wp_67472455() { 
  /* =================== modern.css ==========================*/
  wp_dequeue_style( 'adforest-theme-modern' );
  wp_deregister_style( 'adforest-theme-modern' );

  /* =================== default.css ==========================*/
  wp_dequeue_style( 'defualt-color' );
  wp_deregister_style( 'defualt-color' );
} 
add_action( 'wp_print_styles', 'wp_67472455', 1 );
?>
1
harrison

(私を正しい方向に導いてくれた@ D。Danに感謝します!)

これは私にとっては完璧に機能しました。親テーマを更新した後でも、子の.cssファイルはまだアクティブで、同等の親の.cssファイルを上書きします。

このコードは複数の.cssファイル用です

<?php
function my_theme_enqueue_styles() {
  /* =================== modern.css ==========================*/
    $parent_style = 'adforest-original-modern'; // This is 'adforest-style' for the AdForest theme.

    wp_enqueue_style( $parent_style, get_template_directory_uri().'/css/modern.css' );
    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri().'/modern.css',
        array( $parent_style ),
        wp_get_theme()->get('1.0.0'));

   /* =================== default.css ==========================*/
    wp_enqueue_style( 'defualt-original-color', get_template_directory_uri().'/css/colors/defualt.css' );
    wp_enqueue_style( 'child-defualt-color',
        get_stylesheet_directory_uri().'/defualt.css',
        array( 'defualt-original-color' ),
        wp_get_theme()->get('1.0.0'));

  /* =================== smart_wizard_theme_arrows.css ==========================*/
        wp_enqueue_style( 'defualt_smart_wizard_theme_arrows',          get_template_directory_uri().'/css/colors/smart_wizard_theme_arrows.css' );
    wp_enqueue_style( 'child-defualt_smart_wizard_theme_arrows',
        get_stylesheet_directory_uri().'/smart_wizard_theme_arrows.css',
        array( 'defualt_smart_wizard_theme_arrows' ),
        wp_get_theme()->get('1.0.0'));    

  /* =================== forest-menu.css ==========================*/
    wp_enqueue_style( 'original-forest-menu', get_template_directory_uri().'/css/forest-menu.css' );
    wp_enqueue_style( 'child-forest-menu',
        get_stylesheet_directory_uri().'/forest-menu.css',
        array( 'original-forest-menu' ),
        wp_get_theme()->get('1.0.0'));  

  /* =================== responsive-media-modern.css ==========================*/
    wp_enqueue_style( 'responsive-original-modern', get_template_directory_uri().'responsive-media-modern.css' );
    wp_enqueue_style( 'child-responsive-modern',
        get_stylesheet_directory_uri().'/responsive-media-modern.css',
        array( 'responsive-original-modern' ),
        wp_get_theme()->get('1.0.0'));

}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles', 100 );



function wp_67472455() {
  /* =================== modern.css ==========================*/
  wp_dequeue_style( 'adforest-theme-modern' );
  wp_deregister_style( 'adforest-theme-modern' );

  /* =================== default.css ==========================*/
  wp_dequeue_style( 'defualt-color' );
  wp_deregister_style( 'defualt-color' );

  /* =================== smart_wizard_theme_arrows.css ==========================*/
  wp_dequeue_style( 'adforest-wizard-arrows' );
  wp_deregister_style( 'adforest-wizard-arrows' );   

  /* =================== forest-menu.css ==========================*/
  wp_dequeue_style( 'forest-menu' );
  wp_deregister_style( 'forest-menu' );  

  /* =================== responsive-media-modern.css ==========================*/
  wp_dequeue_style( 'responsive-media-modern' );
  wp_deregister_style( 'responsive-media-modern' );

} 
add_action( 'wp_print_styles', 'wp_67472455', 1 );
?>
0
harrison

これらの行をmy_theme_enqueue_styles関数に追加してください。

wp_dequeue_style( 'adforest-theme-modern' );
wp_deregister_style( 'adforest-theme-modern' );

この名前の下に追加されているのです。そして、あなたはすでにそれがあなたのcssの前にロードされるように、親cssを待ち行列に入れました。

編集: 試す:

function my_theme_enqueue_styles() {

    $parent_style = 'adforest-theme-modern'; // This is 'adforest-style' for the AdForest theme.

    wp_enqueue_style( $parent_style, get_template_directory_uri().'/css/modern.css' );
    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri().'/modern.css',
        array( $parent_style ),
        wp_get_theme()->get('1.0.0'));
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );

function wp_67472455() { 
  wp_dequeue_style( 'adforest-theme-modern' );
  wp_deregister_style( 'adforest-theme-modern' );
} 
add_action( 'wp_print_styles', 'wp_67472455', 100 );
0
D. Dan

優先順位を上げながら2つの別々の関数を実行してみてください。

function my_enqueue_style_one() {
wp_register_style( 'style1', get_template_directory_uri() . '/style1.css' );
wp_enqueue_style( 'style1' );
}
add_action( 'wp_enqueue_scripts', 'my_enqueue_style_one', 10 );

function my_enqueue_style_two() {
wp_register_style( 'style2', get_stylesheet_directory_uri() . '/style2.css' );
wp_enqueue_style( 'style2' );
}
add_action( 'wp_enqueue_scripts', 'my_enqueue_style_two', 20 );

また、追加のコントロールのためにスタイルシートをキューに入れる前に登録してみてください。

if ( ! wp_style_is( 'style1', 'enqueued') ) { ... }
0
dj.cowan