回答:
あなたが提案するように、最もエレガントなアプローチは、CSSオーバーライドがプラグインによって挿入されたCSSの後にロードされるときです。これは非常に簡単に実現できます。スタイルシートを参照する前にheader.php
呼び出しを確認する必要がありますwp_head()
。
<head>
<!-- all the usual preamble stuff goes here -->
<?php wp_head(); ?>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" />
</head>
プラグインがCSSを処理する方法はいくつかあります。
wp_deregister_*
全体的には、個別のスタイルシートを無効にして独自にスタイルシートを組み込み、問題を最小限に抑えてパフォーマンスを向上させる(フェッチするファイルが少なくなる)方が良いと思います。
別の非常にエレガントな方法は、CSSの特異性を使用することです。
したがって、プラグインのcssに次のように記載されている場合:
div.product div.images img {
......
}
cssで定義します:
body div.product div.images img {
......
}
同様の質問については、Michael Raderの回答も参照してください。
既に特異性と!importantを使用していたプラグインのcssをオーバーライドするために、クラスをオーバーライドするためにidを使用しました。これは私のコードを少しきれいにしました。もちろん、クラスだけでなく要素にもidが割り当てられている場合にのみ機能するという点で、これも完璧なソリューションではありません。
理論上、属性セレクターを使用することもできます。しかし、私はまだその理論を検証していません。