it-swarm-ja.com

プラグインでのjQueryのエンキュー

私はプラグインでjQueryを使いたい。私が使っているテーマのfunctions.phpで、私は見つけました:

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

私が理解しているように、これはjQueryをロードし、私は行く準備ができています。私がしなければならないのは私のプラグインのjavascriptファイルにこれを追加することだけです:

jQuery(document).ready(function($) {

    //put jquery code here

})

A)それですか?私は何かが足りないのですか?

私はheader.phpにこれを見ませんでした:

<?php wp_enqueue_script('jquery');?>
<?php wp_head(); ?>

B)jquery-uiも使いたいのですが。テーマに付属のプラグインで、私は見つけました:

wp_enqueue_script("jquery-ui-sortable");
wp_enqueue_script("jquery-ui-draggable");
wp_enqueue_script("jquery-ui-droppable"); 

私は自分自身のプラグインで単に上と同じことをするのですか?そしてそれを私のjsファイルで次のように呼び出します。

jQuery(document).ready(function($){

}

JQuery-UIライブラリの他の部分を使用したい場合はどうすればいいですか? jQuery-UIのどの部分がテーマに含まれているのかをどうやって知ることができますか?

基本的な質問ですみません。私は正しくセットアップされていることを確認したいのですが、何が起こっているのか理解しています。


追加情報:

「myplugin」というプラグインがあるとしましょう。プラグインは動作します。しかし、私はいくつかのjQuery機能を追加したいです。 mypluginの主な機能で私は追加:

wp_enqueue_script('myplugin_script', 'http://mysite/wp-content/plugins/myplugin/js/myplugin_script.js');

Myplugin_script.jsには、次のものがあります。

jQuery.noConflict();

jQuery(document).ready(function($) {                
    alert("Hello");                                                                     
})

アラートがポップアップしないのはなぜですか?スクリプトをフックに追加する必要がありますか?それともwp_enqueue_scriptはそれを起動させるでしょうか?

ありがとうございました。

- ラクミディ

2
Laxmidi

まず第一に、あなたのコード(またはテーマのコード)がjQueryの登録を解除して別の場所(Google)から再登録している場合は、これをどこかに追加する必要があります。

jQuery.noConflict();

これにより、jQueryは$変数をグローバルに定義しようとする他のスクリプト(つまりプロトタイプ)と連携することができます。 WordPressはこの行を自分のバージョンにバンドルしていますが、Googleにはありません。

あなたがjQueryとjQueryのUIのものの束をエンキューする必要があるなら、あなたはそれをする必要があるでしょう。

function my_enqueue() {
    wp_enqueue_script('jquery');
    wp_enqueue_script("jquery-ui-sortable");
    wp_enqueue_script("jquery-ui-draggable");
    wp_enqueue_script("jquery-ui-droppable"); 
}
add_action( 'wp_enqueue_scripts', 'my_enqueue' );

これはあなたのエンキューをそれらをヘッダに出力する適切なアクションにフックします。私はjQuery UIスクリプトが既にWordPressに登録されていると思います。

5
EAMann