WordPressのデフォルトでは「wp_head」にjQueryが出力されるので基本的にはこの出力をfunctions.phpへの記述で停止して、footer.phpに直接読み込みを書いている。
しかし、状況によってはWordPressがjQueryの存在を認識できず、不具合が発生することがあるので、WordPressに認識させつつwp_footerで出力させる方法。
まず、現行のwp_headでjQueryの読み込みを停止する記述
// wp_head関連 wp_headでjQueryを読み込ませない--------------------------------------------
function my_delete_local_jquery() {
if (!is_admin()){
wp_deregister_script('jquery');
}
}
add_action( 'wp_enqueue_scripts', 'my_delete_local_jquery' );
wp_footerでjQueryを読み込ませる記述(テーマのjsフォルダ内にjquery.min.jsが必要)
// jQueryの出力(■注意!wp本体のjQueryを使わず直接読み込んでいる場合のみこの記述を使う)-
function register_custom_jquery() {
// WordPress に「jquery」という名前で登録する
wp_deregister_script('jquery'); // WP の jQuery を解除
wp_register_script(
'jquery',
get_template_directory_uri() . '/js/jquery.min.js?v=3.7.1',
array(),
null,
true
);
wp_enqueue_script('jquery'); // これでフッターに出力される
}
add_action('wp_enqueue_scripts', 'register_custom_jquery', 20);