it-swarm-ja.com

WordpressにjQueryを含める

私はWordpressのインストールにjQueryを含めるために以下のコードを使用しています。以前は標準のHTMLスクリプトを使用してjQueryファイルを呼び出していましたが、これはIE9のWordpressプラグインで問題を引き起こしていました。 wp_enqueue_script関数を使用すると問題は解決しますが、その後wp_head()の後に含めるカスタムJavascriptファイルが壊れます。何がおかしいのですか?

<?php wp_enqueue_script("/wp-content/themes/mytheme/js/jquery-1.5.1.min.js"); ?>
<?php wp_head(); ?>
<script type="text/javascript" src="/wp-content/themes/mytheme/js/custom.js"></script>
1
techcastoni

1)wp_head()経由のスクリプトのみを含める。カスタムスクリプトの場合は、次のように登録してエンキューします。

function mytheme_custom_scripts() {

    if ( ! is_admin() ) {
        $scriptsrc = get_stylesheet_directory_uri() . '/js/';
        wp_register_script( 'mytheme_custom', $scriptsrc . 'custom.js' );   
        wp_enqueue_script( 'mytheme_custom' );
    }

}
add_action( 'after_setup_theme', 'mytheme_custom_scripts' );

2)コアjQueryの登録を解除してから、縮小バージョンを登録してエンキューする必要があります。

function mytheme_minified_jquery() {

    if ( ! is_admin() ) {
        wp_deregister_script( 'jquery' );
        wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js' );  
        wp_enqueue_script( 'jquery' );
    }

}
add_action( 'init', 'mytheme_minified_jquery', 1000 );

どちらもif ( ! is_admin() )条件を含んでいることに注意してください。管理UIにロードされるスクリプトをいじる必要はありません。

また、私の例では、縮小されたjQueryバージョンにGoogleを使用しています。あなたがあなた自身のバンドルされたバージョンを使いたいならば、代わりにwp_register_script()にSRCを追加してください。

2
Chip Bennett

ここで複数の問題:

  • wPにバンドルされているバージョンの登録を解除せずにjQueryの外部バージョンを含める。
  • wp_enqueue_script()の使い方が間違っています(引数が正しくありません)。
  • エコースクリプトyourslef。
  • これらすべてにテンプレートファイルを使用します。

より適切に行うための基本的な例は、themeのfunctions.phpにあります。

add_action( 'wp_enqueue_scripts', 'custom_script' );

function custom_script() {

    wp_enqueue_script('custom','/wp-content/themes/mytheme/js/custom.js',array('jquery'));
}
1
Rarst