私の親テーマ(Starkers)は、削除しようとしているCSSファイルを追加しました(代わりに@importを使用したいので、スタイルをより簡単に上書きできます)。 Starkersのfunctions.phpには以下のものがあります。
add_action( 'wp_enqueue_scripts', 'script_enqueuer' );
function script_enqueuer() {
wp_register_script( 'site', get_template_directory_uri().'/js/site.js', array( 'jquery' ) );
wp_enqueue_script( 'site' );
wp_register_style( 'screen', get_template_directory_uri().'/style.css', '', '', 'screen' );
wp_enqueue_style( 'screen' );
}
私は子のfunctions.phpで以下を試しましたが、linkとscriptタグはまだheadセクションに現れます。
add_action('init', 'removeScripts');
function removeScripts() {
wp_dequeue_style('screen');
wp_deregister_script('site');
}
私は、それらが親ヘッダでハードコードされているかどうか、またそうではないかどうかを二重にチェックしました。
代わりに@importを使用したいので、スタイルをより簡単にオーバーライドできます。
単に。しないでください。行う。それ。
あなたは単に同じフックに飛び込んでからスタイル/スクリプトを登録解除/デキューしてカスタムのものを投入するだけです。
function PREFIX_remove_scripts() {
wp_dequeue_style( 'screen' );
wp_deregister_style( 'screen' );
wp_dequeue_script( 'site' );
wp_deregister_script( 'site' );
// Now register your styles and scripts here
}
add_action( 'wp_enqueue_scripts', 'PREFIX_remove_scripts', 20 );
スクリプトをデキューおよび登録解除する理由は簡単です。
デキュー後にこれらのハンドル(
'screen'
または'site'
)のいずれかを使用できるようにするには、それらのハンドルも登録解除する必要があります。例:wp_deregister_style( 'screen' );
とwp_deregister_script( 'site' );
- peterjmag