質問: プラグインでの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はそれを起動させるでしょうか?ありがとうございました。 - ラクミディ
回答: まず第一に、あなたのコード(またはテーマのコード)が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に登録されていると思います。