質問: get_post(); if ( $post && preg_match( '/vc_row/', $post->post_content ) ) { wp_enqueue_style( 'js_composer_front' ); } wp_enqueue_style( 'js_composer_custom_css' ); } だから私は私のfunctions.phpでこれを設定します:function inf_remove_junk() { wp_dequeue_style('js_composer_front'); wp_dequeue_style('js_composer_custom_css'); wp_dequeue_script('wpb_composer_front_js'); // also tried this remove_action('wp_enqueue_scripts', array('vc_base', 'enqueuestyle')); } if (!is_admin()) { add_action('wp_head', 'inf_remove_junk'); } inf_remove_junk関数は確実に実行されますが、cssは削除されません。別のポイントに引っ掛ける必要がありますか、それとも他の何かをする必要がありますか?
回答: あなたはあなたがスクリプトとスタイルをデキューすることを確認する必要があります の後 それらはキューに入れられます。そうでなければ、あなたのコードは何もしていないように見えるでしょう。実際には、スクリプトを正しくデキューしていますが、後でまた追加されています。どのフックにエンキューされているのかはわかりませんが、デフォルトの優先順位がwp_enqueue_scriptsである場合、これを低い優先順位でデキューすることで機能するはずです。//* dequeue scripts and styles function wpse_106269_wp_enqueue_scripts() { wp_dequeue_style( 'js_composer_front' ); wp_dequeue_style( 'js_composer_custom_css' ); wp_dequeue_script( 'wpb_composer_front_js' ); } //* make sure we dequeue scripts and styles after they are enqueued function wpse_106269_wp_head() { add_action( 'wp_enqueue_scripts', 'wpse_106269_wp_enqueue_scripts', 20 ); } //* wp_head is only fired on public pages add_action( 'wp_head', 'wpse_106269_wp_head');