スタイルシートを含めるために wp_enqueue_style を使用する基本的な ギャラリープラグイン を書きました。ページ上。 WordPressテーマがプラグインのスタイルをオーバーライドできるようにしたいのですが、これは自分のプラグインがNiceをプレイしてcssファイルを出力する前にテーマcssファイルが欲しいことを意味します。
wp_enqueue_style には、まさにこの要件を満たすdeps
パラメータがあります。私の質問は、「themes css fileに依存します」と言いたい場合、deps
パラメーターにどのような値を使用すべきかということです。
現在のプラグインコードはfalse
パラメータにdeps
を使用しているため、正しくありません。
// Enqueue a CSS style file - see http://codex.wordpress.org/Function_Reference/wp_enqueue_style
wp_enqueue_style('bitvol_galleria_css', BITVOL_GALLERIA_URL . '/bitvolution-image-galleria.css', false, $this->bitvol_galleria_version, 'all' );
最初の問題 - あなたは逆方向に依存しています。何かに依存するということは、依存関係を after 依存関係でロードすることを意味します。
2番目の問題 - テーマのスタイルシートは実際にはエンキューを使用しません、それは通常テーマのheader.php
ファイルに直接コード化されています。そしてそれはwp_head()
呼び出しの前に来るようです - あなたのスタイルシートがそれの上にあることを保証するためのフックはありません。
そのため、これは一般的にあなたの 回避策 - それを無効にするオプション付きのスタイルシートとadminのオプションのように扱われます。
私は私が質問に対する答えを知るまで私が使っている自分の回避策を投稿すると思っていました….
私の回避策は次のとおりです。
style.css
)にカットアンドペーストし、必要に応じて修正します。functions.php
で登録解除することで、プラグインがスタイルシートを出力しないようにテーマを設定します。functions.php
に入れるコード:
add_action( 'wp_print_styles', 'my_deregister_styles', 100 );
function my_deregister_styles() {
wp_deregister_style( 'bitvol_galleria_css' );
}
いくつかの点で、この回避策がより良い解決策になりますか? (HEADセクションに含まれるCSSリソースの数を最小限に抑えることでWebサイトのパフォーマンスが向上するため)。