Drittanbieter-Javascript-Bibliothek einschließen, die nicht in WordPress enthalten ist

Ich möchte eine dritte Teil-Javascript-Bibliothek, LeafletJS insbesondere, in mein WordPress-Plugin einbinden. Ich dachte, es wäre keine gute Idee, es einfach einzubinden, ohne darüber nachzudenken, was passiert, wenn ein anderes Plugin dieselbe Bibliothek enthält. Vielleicht sogar in einer anderen (Haupt) Version. Ich habe herausgefunden, dass WordPress bereits viele populäre Javascript Librarys enthält. Wenn ich einen davon benutzen will, muss ich WordPress nur sagen, dass er diese Bibliotheken laden soll. Wenn jeder Plugin-Entwickler es so macht, wird es keine Probleme geben und jedes Plugin verwendet die gleiche Version dieser Bibliotheken. Als ich im Internet nach der Bibliothek von Drittanbietern suchte, fand ich nur viele Ergebnisse, die auf diese Weise beschrieben wurden. Aber das wird mir nicht helfen.

Was, wenn ich eine Javascript-Bibliothek einbinden möchte, die nicht schon in WordPress enthalten ist? Gibt es eine Möglichkeit, dass mein Plugin keine Konflikte mit anderen Plugins hat, die dieselbe Bibliothek enthalten? Im Moment habe ich dieses Problem mit einem Plugin, aber es wäre nett, eine Lösung zu haben, die auch funktioniert, wenn ich dieses Problem mit einem Thema habe.

Solutions Collecting From Web of "Drittanbieter-Javascript-Bibliothek einschließen, die nicht in WordPress enthalten ist"

Sie müssen wp_script_is verwenden, um zu überprüfen, ob die Bibliothek, die Sie verwenden möchten , bereits in einem anderen Plugin enthalten ist. Wie Sie sehen, ist das Handle wichtig, wenn Sie es in whatEverIWant.js ändern, wird es die Bibliothek nicht erkennen.

Es gibt keine echte Möglichkeit, dass Entwickler das schaffen könnten. Dies ist vor allem, weil:

  • Verschiedene Plugins können von verschiedenen Versionen einer Bibliothek abhängig sein und nicht mit anderen zusammenarbeiten.
  • Nicht jeder Entwickler arbeitet sauber genug, um an Konflikte zu denken, während er etwas erstellt. Ein minderwertiges codiertes Thema / Plugin kann immer ein Problem verursachen.
  • Die gleiche Bibliothek kann unter verschiedenen Namen (wegen Unachtsamkeit, Fehler, etc.) enthalten sein und wenn Sie ein Thema / Plugin veröffentlichen, werden Sie nicht immer da sein, damit der Kunde nach diesen Problemen sucht.

Wenn Sie jedoch eine bekannte und beliebte Bibliothek verwenden, die ebenfalls in WordPress enthalten ist, können Sie mit der folgenden function prüfen, ob sie bereits geladen ist:

wp_script_is( $name, $list = 'enqueued' ); 

Dies gibt true wenn das Skript bereits gedruckt / eingereiht / registriert ist, so dass Sie es zusammen mit einem if() , um zu entscheiden, ob Sie es erneut drucken möchten oder nicht.

Aber wie oben erwähnt, wenn die Namen nicht identisch sind, wird dies nicht funktionieren.