子テーマのCSSが2回呼び出されるのはなぜですか?


18

WPドキュメントに従って子テーマを作成し、必要な機能を追加しました

<?php
add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);
function enqueue_child_theme_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('parent-style')  );
}

どういうわけか私は私の子テーマのスタイルシートへの2つの参照になります:

<link rel='stylesheet' id='twentythirteen-style-css'  href='http://DOMAIN.COM/wp-content/themes/twentythirteen-child/style.css?ver=2013-07-18' type='text/css' media='all' />

<link rel='stylesheet' id='child-style-css'  href='http://DOMAIN.COM/wp-content/themes/twentythirteen-child/style.css?ver=4.0' type='text/css' media='all' />

何故ですか?


style.cssファイルのヘッダー情報を子テーマに投稿できますか?
サイブメタ14年

回答:


17

この記事はからリンクされているこのポスト私は今、この記事の変更を更新しました

この問題を提起していただきありがとうございます。シナリオをすばやくテストしましたが、実際には子スタイルが2回読み込まれます。

少し前にコーデックスを更新したとき、子スタイルが親スタイルの後にロードされることを確認しました。これが実際にデフォルトで行われ、与えられたコードが実際に子スタイルシートを2回ロードすることを実際に考慮しません。

これは$priority、関数からを削除し、子テーマのエンキュー部分を削除するだけで簡単に修正できます。私はすべてを再テストしましたが、うまくいきます。数人の人々がこれを協力できればいいと思います。

それまでの間、コーデックスを更新し、この投稿にリンクします。

ここに作業コードがあります

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

編集

この記事は、のために働いていないことを誰のために、参照してくださいこの記事を。親テーマがどのようにスタイルを追加しているかを確認する必要があります。この質問のコードは、親のスタイルが正しい方法でロードされると厳密に信じています。そうでない場合は、リンクされた回答の選択肢を見て、それらを試してください


1
テストします。スタイルシートが2回ロードされることをWPが気にしないか、または欠落しているいくつかの理由がある可能性があります。
mmcglynn 14年

それが話題になっているので、この方法を使用していくつかの問題に遭遇しました
dMcClintock 14年

同じ 'id'を使用すると、スタイルシートは2回ロードされません。私はそれをオーバーライドすることができますので、それは他のCSSの後にロードするように、子スタイルシートをenequeueしたい...しかし、(同じ「ID」を使用している場合または無視)これが唯一のスタイルを複製-しかし、これは別の問題を作成
PHP-B-を年生

1
私が知ることができるこの方法の主な問題は、子スタイルが子テーマのバージョン番号を引き込まないことです。親テーマのバージョン番号を取り込むように見えますが、これは常に理想的とは限りません。
ガルコニス

@ pieter-goosen 子テーマのバージョン番号を使用する子テーマの例に従いましたwp_get_theme()->get('Version')。ただし、WPバージョンと子テーマバージョンのCSSが重複することに<link rel="stylesheet" id="bushwick-style-css" href="/wordpress//wp-content/themes/bushwick-child/style.css?ver=4.9.8"...>なり<link rel="stylesheet" id="bushwick-child-css" href="/wordpress//wp-content/themes/bushwick-child/style.css?ver=1.3.6"...>ます。これらの場合の解決策は何ですか?
IvanRF
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.