2

関数.phpファイルに次のコードを使用して、WordPressでJQplotと呼ばれるグラフ化およびプロットJqueryライブラリを含めました。

function rw_jqplot() {
    // JS
    wp_deregister_script('jqplot');
    wp_enqueue_script('jqplot', plugins_url('/js/jquery.jqplot.min.js', __FILE__), array("jquery"), '1.0.0.1012');
    // CSS
    wp_deregister_style('jqplot');
    wp_enqueue_style('jqplot', plugins_url('/css/jquery.jqplot.min.css', __FILE__), false, '1.0.0.1012');

} add_action('init', 'rw_jqplot'); ?>

問題は、(firebugで)次のようなエラーが発生することです。$が未定義です。

私はいくつかの調査を行いましたが、競合モードなしで実行されているjqueryで何かを行う必要があると思います。それで、おそらくこれに対する解決策は、ワードプレスの競合なしモード内に上記のコードを何らかの形で含めることですか?それは可能ですか?

ありがとう!

4

1 に答える 1

3

JQPlotコードを見ると、プラグイン全体がクロージャー内で宣言されています。

(function($) { 
  // JQPlot code
})(jQuery);

したがって、プラグインは問題ありません($ = jQueryプラグインスコープ内)。ただし、効果の宣言は次のとおりではありません。

var backCompat = $.uiBackCompat !== false;
// And then, JQPlot effects declaration

これは問題であり、開発チームに報告する必要があります。(function($) {迅速で汚い修正のために、10577行目と})(jQuery);の最後に追加できますjquery.jqplot.js

編集

最新の安定バージョン(0.9.7r635)ではこの問題は発生していないようです。多分それを試してみてください

于 2012-05-19T23:51:06.933 に答える