0

レンタカーをオンラインで予約するwpプラグインを作成しましたが、別のwpテーマでローカルでテストしたところ、問題なく動作しました。しかし、何らかの理由でこのWebサイトにインストールすると、jquery関数が機能しません。フォルツェッツェンボタンを押すと、他のステップ(4ステップのフォーム)が開きません。テーマが使用している他のjquery関数またはライブラリのせいであると思いますが、これを引き起こしている原因がわからないのでイライラしています。何か案は?

4

3 に答える 3

3

競合を回避するために何を使用しているのかわかりませんが、いつでもこのスニペットを使用して競合を回避できます。

(function($){

//Your code goes here

}(jQuery));

また、必ずwp_enqueue_script()関数を使用してスクリプトをロードしてください。また、WPは通常デフォルトでjQueryをロードすることを忘れないでください。不必要にそれをやり直さないでください。

別の編集:スクリプトをロードするためにwp_print_stylesフックを使用しないでください。コーデックスは上記のリンクで次のように述べています。「フロントページでスタイルやスクリプトをエンキューするためにwp_print_stylesを使用しないでください。代わりにwp_enqueue_scriptsを使用してください。」それがそう言うなら、あなたは従順でなければなりません= P

最後にもう1つ:wp_enqueue_script()は、スクリプトをロードする場所(ヘッダーまたはフッター)をWPに指示するために、ブール値のtrueまたはfalseの最後の引数($ in_footer)を受け入れることに注意してください。フッターの真の負荷。デフォルトではfalseに設定されていますが、フッターにカスタムスクリプトとプラグインをロードする必要がある可能性があるため、TRUEに設定する必要があります。

于 2012-12-16T22:43:06.290 に答える
3

プラグインフォルダにjQueryを含めないでください。

むしろ、WordPressの組み込み関数wp_enqueue_scriptを介してWPに付属するjQueryをロードします。

これにより、WordPressに同梱されているjQueryが読み込まれ、同じスクリプト(ユーザーが持っている)の複数のインスタンスが読み込まれないようになります。

使用方法については、ドキュメントwp_enqueue_scriptと、ロードできる「組み込み」スクリプトの長いリストを確認してください。

これを使用して、プラグインファイルに含めずにjQueryをロードできます。

wp_enqueue_script('jquery');

jQuery uiだけでなく、ドラッグ可能、ドロップ可能、その他多くのものをロードすることもできます。ドキュメントを見て、これを実行していることを確認してください。

wp_enqueue_script('jquery-ui'); 

jQueryuiコアをロードします。

*編集:* また、Firefoxを使用し、Firebugをインストールして使用します。Firebugを使用すると、サイトでこのエラーをすばやく確認できます。

TypeError:$(...)。inputfocusは関数ではありません

16行目

これは、プラグインjQueryで、関数にアクセスしてjQueryを使用しようとしていることを示してい$ます。WP内では、関数に依存しない方法でjQueryを使用する必要があり$ます。を使用してjQueryを呼び出すか、互換モードjQuery(...)の形式で使用します。

于 2012-12-16T22:45:04.573 に答える
0

これを使用してこの問題を解決しました: add_action('wp_print_styles', 'scripts'); スクリプトと最後をロードするため、機能するようになりましたが、他のプラグインとテーマの問題を修正する必要があります。皆さん、ありがとうございました。

于 2012-12-16T23:11:09.180 に答える