私は私の子供のテーマでwp_enqueue_scripts経由でスクリプトを読み込んでいます。
唯一の問題は、私のstyle.cssスクリプトがプラグインスクリプトの前にロードされることです、それでも私は私のstyle.cssでプラグインのcssをオーバーライドする必要があります。
私はすべてのCSSスタイルに「!important」を追加したくありません。これは面倒で、私のスタイルの一部を壊す可能性があるためです。
優先度を追加しようとしましたが、ロード順序にまったく影響しませんでした。
add_action('wp_enqueue_scripts', 'scripts', 9999);
ヘッダーの最後、</ head>の直前に単にwp_enqueue_scriptsを付けたいと思います。どうすればそれができますか?ありがとう:-)
更新:
ええ、私はそれを考え出しました!
単にフィルタを登録します。
add_action('wp_print_styles', 'scripts');
wp_print_stylesは優先順位8でロードされますが、wp_headの一部であるため、ヘッダーに配置されます。
私はwp-includes/default-filters.phpを見ることによってこれを考え出しました、それで先端をありがとう! :-)
デフォルトでwp_enqueue_scripts
が追加され、優先順位は1
からwp_head
になります。詳細はwp-includes/default-filters.php
をご覧ください。
優先順位を変更することができます。
remove_action( 'wp_head', 'wp_enqueue_scripts', 1 );
add_action( 'wp_head', 'wp_enqueue_scripts', 9999 );
しかし、私はそれをお勧めしません。デフォルト値にはおそらく正当な理由があります。これを変更すると、スクリプトによっては動作しなくなる可能性があります。
もっとWordPressにやさしい方法は wp_enqueue_styles()
の $ depsパラメータを使うことだと思います。プラグインのスタイルがwp_enqueue_styles()でエンキューされていると仮定して(確かに、哀れなことにはほとんどありません)、あなたは自分のスタイルが依存するスタイルシートハンドルの配列をリストし、その後それらはロードします。