web-dev-qa-db-ja.com

フッターからのjQueryの削除

私は HTML5 Blank を使って作業していますが、wp_footer()でjqueryが呼び出されないようにすることはできません。これを自分の関数ファイルの最後に追加してみました。

function theme_slug_dequeue_footer_jquery() {
 wp_dequeue_script( 'jquery' );
}
add_action( 'wp_footer', 'theme_slug_dequeue_footer_jquery', 11 );

運なしで。私も試してみました:

if( !is_admin()){
wp_deregister_script('jquery');
wp_dequeue_script('jquery');}

しかし、フッターで/wp-includes/js/jquery/jquery.js?ver=1.8.3が呼び出されることになります。私はここで何をしていますか?

1
Josh Mountain

空白のテーマで作業している場合、テーマのfunctions.phpでwp_enqueue_script('jquery');を削除またはコメントアウトしないでください。

それ以外の場合、アクションフックが間違っています。

add_action('wp_print_scripts','theme_slug_dequeue_footer_jquery');
function theme_slug_dequeue_footer_jquery() {
   wp_dequeue_script('jquery');
}

これにより、/wp-includes/js/jquery/jquery.js?ver=1.8.3のjQuery(と思う)のビルドがロードされます。

管理者とフロントエンドからすべてのjQueryを削除するには、deregister_scriptを使用する必要がありますが、これは管理者の機能を中断しますが、引き続き使用できます(ドラッグアンドドロップなどは使用できません)。

add_action('wp_print_scripts','theme_slug_dequeue_footer_jquery');
function theme_slug_dequeue_footer_jquery() {
        wp_deregister_script('jquery');
        wp_dequeue_script('jquery');
    }

また、フロントエンドでのみ使用する場合(これは使用する必要があるものです):

 add_action('wp_print_scripts','theme_slug_dequeue_footer_jquery');
 function theme_slug_dequeue_footer_jquery() {
       if( !is_admin()){
           wp_dequeue_script('jquery');
       }
}
1
Wyck

別のjQueryバージョンを呼び出す必要がある場合は、noConflictメソッドを使用することができ、それらをヘッダーまたはフッターにロードしても問題ありません。順序は関係ありません。

0
Gabb3