web-dev-qa-db-ja.com

JQueryをフッターに移動できません

以下の2つの方法は役に立ちませんでした。私のjQueryはいつもヘッドセクションにあります。その理由は何ですか?

方法1:(function.phpに以下のコードを追加する)

if (!is_admin()) add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11);
function my_jquery_enqueue() {
   wp_deregister_script('jquery');
   wp_enqueue_script( 'jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js',array(),'1.9.0',true);

}

これは'jquery'の最初のパラメータとしてwp_enqueue_scriptを他の文字列に変更したときに機能します。それではなぜそれがjqueryハンドルで動作しないのですか?

方法2 :( function.phpに以下のコードを追加)

function pwcc_jquery_to_footer( &$wp_scripts ) {
      if ( is_admin() ) {
        return;
      }
      $wp_scripts->add_data( 'jquery',         'group', 1 ); 
      $wp_scripts->add_data( 'jquery-core',    'group', 1 ); 
      $wp_scripts->add_data( 'jquery-migrate', 'group', 1 ); 
    }
    add_action( 'wp_default_scripts', 'pwcc_jquery_to_footer' );

このコードはページに影響を与えませんでした、それはスクリプトがヘッダーかフッターにあるべきであるかどうか言うgroupを修正します

2
HOY

最善の方法ではありませんが、文書の頭の中にあるスクリプトを許可するデフォルトのWordPressアクションを削除すると、次のようになります。

function md_footer_enqueue_scripts() {
    remove_action('wp_head', 'wp_print_scripts');
    remove_action('wp_head', 'wp_print_head_scripts', 9);
    remove_action('wp_head', 'wp_enqueue_scripts', 1);
}
add_action('wp_enqueue_scripts', 'md_footer_enqueue_scripts');`
0
Falcon