web-dev-qa-db-ja.com

テーマのCSSファイルの前にプラグインからCSSファイルをエンキューすることは可能ですか?

プラグインからスタイルをエンキューすると、テーマのスタイルの後にロードされます。それが私のプラグインのいくつかのCSSがテーマのCSSによって上書きされている理由です。この問題は、プラグインのスタイルがテーマのスタイルの後にロードされることを確認できれば解決されます。

1
Eh Jewel

テーマスタイルシートの後にプラグインスタイルシートを追加するのは簡単です。あなたのテーマスタイルとプラグインスタイルが同じセレクタウェイトを持つことが確実なら(テーマはこのスタイル.site-header { background-color: #ccc; }を、あなたのプラグインはこの.site-header { background-color: #f1f1f1; }を持ちます)テーマスタイルシートの後のプラグインスタイルシートは動作します。

wp_enqueue_scriptsアクションフックでエンキューしている場合は、フック優先度パラメータを変更するとうまくいきます。これが例です:

function op_enqueue_scripts() {
    wp_enqueue_style( 'bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css' );
}
add_action( 'wp_enqueue_scripts', 'op_enqueue_scripts', 50 );

優先度50が機能しない場合は、それを80または100に増やしてみてください。

1
obiPlabon

いいえ(または技術的にはあるかもしれませんが、ここではプラグインスタイルの前にテーマスタイルをエンキューする方法について質問があります)。

あなたのスタイルがテーマスタイルによって上書きされている場合、それはあなたが正しくあなたのクラスの前に付けられていないことを意味します。

0
Mark Kaplun