web-dev-qa-db-ja.com

フッターにjqueryが読み込まれない

Jqueryをサイトのフッターに移動したいのですが、うまくいきません。私は以下のコードでそれを試しました。

ご覧のとおり、他にもいくつかスクリプトがあり、それらはフッターに正しくロードされます。 jqueryだけは動作しません。

//This adds our JavaScript Files
function wel_adding_scripts() {

wp_deregister_script('jquery');
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js', '', '2.1.1', true); 
wp_enqueue_script( 'jquery');

wp_register_script('jquery.mixitup', get_template_directory_uri() . 'js/jquery.mixitup.min.js','','1.1', true);
wp_enqueue_script('jquery.mixitup');

wp_register_script('headroom', get_template_directory_uri() . 'js/headroom.min.js','','1.1', true);
wp_enqueue_script('headroom');
}
add_action( 'wp_enqueue_scripts', 'wel_adding_scripts' ); 
1
hazelnut

ヘッダー内のいずれかのスクリプトがjQueryを必要とする場合は、フッター用にエンキューされるように変更されているかどうかにかかわらず、それがヘッダーにバンプされます。

そのため、フッターのためにキューに入れられるように変更することは理にかなっていますが、多くのスクリプトが行われているときにうまくいくことはめったにありません。

6
Rarst

これが問題です

別のパラメータですでに登録されているハンドルを登録またはエンキューしようとした場合、新しいパラメータは無視されます。代わりに、wp_deregister_script()を使用して、新しいパラメータでスクリプトを再度登録してください。

最初にjqueryの登録を解除し、再度登録する必要がありますが、空の文字列がdepsパラメータの代わりに入れるべきものではないため、注意してください。 ITは空の配列であるべきです。

このような:

     wp_register_script('jquery',
 'http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js',
     array() , '2.1.1', true); 
1
Tomás Cot

修正:私はいつも正しいやり方でやっている。今、私は見つけた、そのjqueryはthemes header.phpファイルで登録解除されました。私はそれを削除しました、そしてそれは今働きます。

0
hazelnut