私のWordpressプラグインには、第3部のJavascriptライブラリ、特にLeafletJSを含めたいと思います。他のプラグインに同じライブラリが含まれているとどうなるかを考えずに含めるだけでは良い考えではないと思いました。おそらく他の(メジャー)バージョンでさえ。私はWordpressがすでに多くの人気のあるJavascriptライブラリを含んでいることを知りました。これらのうちの1つを使用したい場合は、Wordpressにこれらのライブラリをロードするように指示するだけです。すべてのプラグイン開発者がこのようにしていれば問題はなく、すべてのプラグインは同じバージョンのライブラリを使用しています。私がどのように私が第三者の図書館を含めるべきであるかについてウェブを捜したとき、私はこのように記述した多くの結果を見つけるだけでした。しかし、それは私を助けません。
Wordpressにまだ含まれていないJavascriptライブラリを含めたい場合はどうしたらいいですか?私のプラグインが同じライブラリを含む他のプラグインと競合しないような方法はありますか?今のところ私はプラグインでこの問題を抱えていますが、テーマでこの問題を抱えていてもうまくいく解決策があればいいでしょう。
あなたが使いたいライブラリが既に他のプラグインに含まれているかどうかをチェックするために wp_script_is を使う必要があります。ハンドルが重要であることがわかりますので、それをwhatEverIWant.jsに変更しても、ライブラリは認識されません。
開発者がこれを達成できるような現実的な方法はありません。これは主に理由です:
ただし、WordPressにも含まれている有名で人気のあるライブラリを使用している場合は、次の関数を使用して、すでにロードされているかどうかを確認できます。
wp_script_is( $name, $list = 'enqueued' );
スクリプトがすでに印刷/エンキュー/登録されている場合は、これはtrue
を返すので、if()
と組み合わせて使用して、再度印刷するかどうかを決定できます。
しかし、私が上述したように、名前が同じでなければ、これはうまくいきません。