Das Folgende ist der beste Weg, um dies zu tun. Fügen Sie Folgendes zur functions.php-Datei des Themes hinzu
if (!is_admin()) add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11);
function my_jquery_enqueue() {
wp_deregister_script('jquery');
wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", false, null);
wp_enqueue_script('jquery');
}
Ersetzen Sie die URL durch den Speicherort der jQuery-Version, die Sie verwenden möchten.
Warum ist das die beste Methode? Was ist der Unterschied zwischen dieser Methode und dem einfachen Verweisen darauf wie
<script type="text/javascript" src="/js/jquery-1.3.2.min.js">Kumpel, das dient wahrscheinlich dazu, jQuery-Konflikte zu vermeiden.
Ich glaube, das liegt daran, dass jQuery von Googleapis, das auf vielen Servern liegt, schneller heruntergeladen wird als von dem Server, auf dem Ihre Website liegt.
Einige Plugins verwenden jQuery. Auf diese Weise stellen Sie sicher, dass jQuery nicht mehrmals geladen wird.
Um den jQuery-Konflikt zu vermeiden, sollte der obige Code in die functions.php eingefügt werden. Das Tag wird für HTML verwendet. Wenn Sie mehrere jQuery-Funktionalitäten in WordPress verwenden, ist der obige Code nützlich
Andrew… Ich wollte nur sagen \m/
Danke für Ihr jQuery-Tutorial
Es ist wirklich hilfreich für mich.
Vielen Dank
Dies muss auf jQuery 1.4.0 aktualisiert werden, indem dieser Aufruf speziell geändert wird
So einfach. So perfekt. Danke!
Danke, ich werde es versuchen.
Ich bekomme jQuery nicht mit WordPress zum Laufen, ich habe so viele verschiedene Dinge versucht. Können Sie bitte meinen Code überprüfen und sehen, was falsch ist?
$(document).ready(function() {
$(‘.slideshow’).cycle({
fx: ‘fade’ // wählen Sie Ihren Übergangstyp, z.B. fade, scrollUp, shuffle usw.
});
});
Entschuldigung, mein Code wurde abgeschnitten…
?php wp_enqueue_script(‘jquery’); ?>
?php wp_enqueue_script(‘jquery-ui-1.8.2.custom.min’, ‘/wp-content/themes/nordborg/js/jquery-ui-1.8.2.custom.min.js’,array(‘jquery’)); ?>
?php wp_enqueue_script(‘jquery.cycle.min.js’, ‘/wp-content/themes/nordborg/js/jquery.cycle.min.js’,array(‘jquery’)); ?>
Großartig,
Vielen Dank. Ich konnte jQuery mit nichts zum Laufen bringen, aber als ich das in die Funktionen einfügte, funktionierte es wie ein Zauber.
So dankbar dafür, ich kann mit dem Programmieren weitermachen, anstatt zu debuggen.
William
Wenn ich Mootool oder jQuery-ältere Version hätte.
Wie vermeide ich jQuery-Konflikte?
Es ist tatsächlich wichtig, da viele Websites es verwenden und dieses JS möglicherweise bereits in den Cookies des Browsers eines Benutzers vorhanden ist!
Sie müssen den Unterschied zwischen Cookies und Caching nachschlagen ;)
Ich versuche, eine bestehende Website in WordPress für ihre CMS-Funktionen zu migrieren. Die Website verwendet das Galleria Classic Theme von http://galleria.aino.se/. Dies funktioniert außerhalb von WordPress gut, aber sobald es in WordPress integriert ist, funktioniert es nicht mehr und alles, was ich sehe, sind alle Bilder übereinander gestapelt. Ich habe jede meiner Seiten zu Vorlagen gemacht, um keinen der vorhandenen Codes zu ändern, außer dem üblichen hinzuzufügen
Wenn ich die Website in Firefox ausführe, gibt Firebug folgenden Fehler aus
Galleria ist nicht definiert
[Break On This Error] Galleria.loadTheme(‘galleria.classic.min.js’);
Wenn mir dabei jemand helfen kann, würde ich mich wirklich sehr freuen, da ich seit Tagen versuche, dies mit meinem Code zu lösen. Bitte helfen Sie!!!
Bitte verwenden Sie den folgenden Link, um den Code anzuzeigen
http://pastebin.com/W664Y2Ab
Danke
Es fehlt immer noch die lokale Version als Fallback, falls sie aus China, dem Iran kommen oder Sie im Moment keine Internetverbindung haben, während Sie auf Ihrem lokalen Rechner arbeiten. Es gibt mehrere Möglichkeiten, und ich bin mir immer noch nicht sicher, ob ich ein großer Fan davon bin, aber funktional ist es das Beste
beneverard.co.uk/blog/wordpress-loading-jquery-correctly-version-2/
NB. DIESER SNIPPET IST VERALTET. Verwenden Sie die aktuellste Version von Google (http://code.google.com/apis/libraries/devguide.html), wenn Sie sie von Google beziehen. Beachten Sie auch, dass Sie sie bei Bezug von Google aktuell halten müssen. Ich weiß, dass die Google-Version aufgrund von Caching möglicherweise schneller ist, aber wenn Sie einfach die WordPress-Version verwenden, müssen Sie nicht daran denken, Ihr jQuery zu aktualisieren, es sei denn, Sie benötigen aus irgendeinem Grund die allerneueste Version von jQuery.
Um die eigene Version von WordPress zu verwenden, fügen Sie dies zu Ihrer functions.php hinzu
Byronyasgur, der ganze Sinn liegt in den Vorteilen der Einbindung von Google – viele, und Sie tun dem Internet einen Gefallen. Ja, der einfache Weg ist, einfach die WordPress-Version zu verwenden.
Und wie oben erwähnt, greift der Link immer auf die neueste Version von Google zu, genau wie WordPress. Sorgen um Updates sind also kein Problem.
Was Ihren Snippet betrifft, so ist ein Teil der enqueue/register script Funktion, ob sie im Header oder Footer enthalten sein soll. Standardmäßig ist sie im Header, daher ist das Hinzufügen des Filters und der Funktion nicht erforderlich.
Und schließlich, wie erwähnt, gibt es keinen Fallback zur lokalen Version. Ich gebe oben den Link zum besten Weg dafür an.
Warum diskutiere ich das immer noch? Das Internet hat das schon durch. Das zeigt das Internet-Gesetz, dass nach einer bestimmten Anzahl von Kommentaren die Leute aufhören zu lesen und sich wiederholen.
…. eigentlich ist wp_head etwas falsch – es ist wirklich besser, es bei `wp_enque_scripts` wie folgt zu tun
Siehe – http://wordpress.stackexchange.com/questions/21561/where-is-the-right-place-to-register-enqueue-scripts-styles/21579#21579
(zuvor empfahl der Codex init und ich habe auch andere Orte empfohlen bekommen)
David,
Sie haben vielleicht Recht, dass die Google jQuery-Methode immer die neueste Version verwendet – das wäre tatsächlich sinnvoller… aber die Versionsnummer muss doch trotzdem aktualisiert, auf false gesetzt oder weggelassen werden – was nützt es, wenn es '1.3.2' ist, wenn jQuery bei 1.7 oder so ist?
Sind Sie sicher, dass Sie mit dem Filter Recht haben? Haben Sie bemerkt, dass er in functions.php und nicht in header.php eingefügt wird. Ich glaube nicht, dass wir wp_enqueue_script(‘jquery’); einfach in die functions.php-Datei einfügen können, ohne sie über einen Filter zu enqueuen, und denken Sie fälschlicherweise, dass wp_head etwas damit zu tun hat, ob das Skript im Head oder Footer geladen wird, weil ich ziemlich sicher bin, dass es das nicht tut. wp_head ist, soweit ich weiß, die (eigentlich falsche, wie ich später erwähnt habe) Zeit, zu der der Enqueue ausgelöst werden soll… ob es schließlich im Head oder Footer gedruckt wird, wird vielmehr über das letzte Argument in wp_enqueue_script() ($in_footer) gemäß dem Codex ausgewählt.
Meine Website ist schmerzhaft langsam. Ich habe sie auf Basis von "murtaugh-HTML5-Reset-Wordpress-Theme-8aa6329" erstellt. Ich arbeite immer noch daran.
Laut Pingdom Tools ist ein Ort, an dem es hängen bleibt, hier
http://www.MY-DOMAIN.org/ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js?ver=3.3.1
In meiner functions.php habe ich diesen Code
Jeder Vorschlag wäre sehr willkommen.
Hallo Claudette,
Das Problem mit der von Ihnen geposteten "hängenden" URL ist, dass sie nicht existiert – Sie müssen sicherstellen, dass sie direkt zum Google APIs-Server geht, ohne dass Ihr eigener Domainname enthalten ist. Im functions.php-Snippet, das Sie eingefügt haben, benötigen Sie die Klammern um die ajax.googleapis-URL nicht. Nur Anführungszeichen (einfach oder doppelt) sind in Ordnung.
AUFMERKSAMKEIT WORDPRESS ENTWICKLER
Tun Sie der WordPress-Community einen riesigen Gefallen und implementieren Sie jQuery niemals auf diese Weise in einem Theme, das Sie für die Öffentlichkeit veröffentlichen werden. Sei es ein kommerzielles Theme oder ein kostenloses Theme, das Sie öffentlich zugänglich machen wollen.
Ich würde empfehlen, jQuery nur auf Websites zu implementieren, die Sie selbst betreiben und verwalten UND auf Websites, bei denen Sie sicherstellen, dass sie immer die neueste Version von jQuery ausführen.
Wenn Sie ein Theme für die Öffentlichkeit veröffentlichen (kommerziell oder kostenlos), laden Sie jQuery IMMER einfach durch den Aufruf wp_enqueue_script(‘jquery’) und deregistrieren Sie niemals das eingebaute jQuery und rufen Sie es von einer externen Quelle auf.
WordPress-Plugins, die nach Best Practices entwickelt wurden, enqueuen jQuery über wp_enqueue_script(‘jquery’) und erwarten, dass dies die Version von jQuery lädt, die die aktuelle Version von WordPress verwendet.
Wenn Sie den Aufruf des eingebauten jQuery deregistriert und einen Aufruf an eine alte Version von jQuery auf den Servern von Google registriert haben… fragen Sie nach Problemen und Kopfschmerzen für die Zukunft.
Warum? Einfach. Sie ändern das globale WordPress-Umfeld für alle anderen Plugins und WordPress selbst, indem Sie dies tun.
Wenn ein Plugin jQuery v1.7.1 erwartet, weil es in WordPress v3.3 integriert ist, und Ihr Theme kommt und es hat jQuery neu registriert und jQuery v1.2.1 von Googles Servern registriert? Scheiße wird kaputt gehen, weil Sie möglicherweise Plugins haben, die jQuery v1.7.1 erwarten, und stattdessen Ihr Theme jQuery v1.2.1 lädt.
WordPress kommt mit jQuery. Es wird bei jeder Veröffentlichung aktualisiert. Tun Sie der Community einen Gefallen und ändern Sie es nicht, es sei denn, Sie wissen, was Sie tun, und Sie veröffentlichen das Theme NICHT für die Öffentlichkeit.
Theme-Entwickler, die jQuery auf diese Weise implementieren, verursachen unzählige Stunden an Support für Plugin-Entwickler und deren Benutzer, wenn sie nicht wissen, was sie tun.
Die Implementierung ist nur auf Ihrer eigenen Website angemessen. Das Laden von jQuery sollte niemals auf diese Weise in einem Theme erfolgen, das für die Öffentlichkeit bestimmt ist.
Chris Coyer: Bitte: Ich würde Ihre Antwort auf die Behauptungen im obigen Kommentar sehr begrüßen. Stimmen Sie zu? Verteidigen Sie Ihren Vorschlag? In welchen Fällen?
Der Grund für meine Anfrage: Ich bin verwirrt. Das Fehlen einer Reaktion auf eine solche Bemerkung wie
„Tun Sie der WordPress-Community einen riesigen Gefallen und implementieren Sie jQuery niemals auf diese Weise in einem Theme, das Sie für die Öffentlichkeit veröffentlichen werden."
hat mich verwirrt. Stimmen Sie der Bemerkung zu? Stehen Sie zu Ihrer ursprünglichen Empfehlung?
Vielen Dank im Voraus –
Efrat
Danke für den Tipp, Cody. Es scheint logisch zu sein, eine Community zu unterstützen, für die man speziell entwickelt, aber so viele Details entgehen uns manchmal! Im Großen und Ganzen kann ich sehen, wie das Enqueuen von jQuery durch die Methode von WordPress besser funktioniert, da der Entwickler nicht ständig aktualisieren muss, welche Version er lädt, basierend darauf, was die größere WordPress-Community unterstützt (wie die Entwickler, die das WordPress-Enqueuing aktualisieren, und die Entwickler, die die Plugins schreiben, die ihre Benutzerbasis unterstützen… usw.!).
Stärkung der Verbindungen und Vermeidung von… Kettenreaktionen? (Ich meine es nicht so kitschig. Ok, ich habe gelogen. Ja, das tue ich!)
Warum nicht einfach .noConflict() aufrufen und jQuery Migrate sofort nach dem Enqueuen von jQuery 1.9.1 enqueuen?
Es scheint, dass der einzige Unterschied zwischen der WordPress-Version von jQuery und der Google-Version darin besteht, dass jQuery.noConflict(); am Ende aufgerufen wird.
Danke! Das hat mich bei einem dringenden Projekt GERETTET, ich habe den ganzen Tag Fehler behoben! Ich werde diesen Beitrag teilen! Nochmals vielen Dank, CSS Tricks!
Danke!
Das hilft wirklich. Vielen, vielen Dank.
Mit freundlichen Grüßen,
Prerak Trivedi.
Eine großartige Möglichkeit, die jQuery-Bibliothek in WordPress einzubinden. Die Einbindung der neuesten jQuery-Bibliothek von Google APIs würde jedoch viele Fehler verhindern, auf die Sie stoßen könnten. Entweder durch die Verwendung von Google Git oder jQuerys URLs.
Gibt es eine aktualisierte Version dieses Snippets?
@Carl Hancock – sehr hilfreich und das macht definitiv Sinn. Danke für die guten Informationen.
Ich kann gar nicht ausdrücken, wie sehr ich Sie gerade liebe. Habe 4 Stunden lang Blut geschwitzt, um eine Lösung zu finden, und das ist so einfach und effektiv, dass ich fast weine.
Gibt es einen Grund, warum dies nicht standardmäßig im Footer geladen wird?
Ich glaube, das liegt hauptsächlich daran, dass SO VIELE Plugins wp_head verwenden, um ihre Skripte einzufügen, dass Sie, wenn Sie standardmäßig den Footer mit wp_enqueue_style verwenden, Gefahr laufen, ziemlich viele Dinge kaputt zu machen.
OK – das scheint vernünftig, aber was ist mit render-blocking Problemen? Ignoriert man das?
http://www.feedthebot.com/pagespeed/render-blocking.html
Oh, ich bin schon über der Falz verwirrt.
Beste Grüße
Thomas
Ich bin mir ziemlich sicher, dass ich das mit einigen Änderungen am offenen Beitrag verstanden habe. Ich habe alle Plugins zusammengefasst und die erforderlichen Skripte standardmäßig in den Footer geladen.
function scripts() { // Comment reply script for threaded comments. // Loading on single.php only. if ( is_single() AND comments_open() AND (get_option('thread_comments') == 1)) { wp_deregister_script( 'comment-reply' ); //Removing the version number and loading in the footer wp_register_script( 'comment-reply', get_site_url() . '/wp-includes/js/comment-reply.js', array('jquery'), null, true ); wp_enqueue_script( 'comment-reply' ); } // If is not wp-admin if (!is_admin()) { //Removing the version number and loading in the footer wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js", false, null, true); // Load Combined plugins and require jquery first wp_register_script( 'plugins', get_template_directory_uri() . '/js/plugins.js', array('jquery'), null, true ); wp_enqueue_script( 'plugins' ); wp_enqueue_script( 'jquery' ); } } add_action( 'wp_print_scripts', 'scripts', 11);Bitte beachten Sie, dass ich comment-reply neu registriert habe, um die (WordPress-) Versionsnummer auszublenden, in den Footer und nur auf single.php zu laden. Beachten Sie die Änderung von is_singular zu is_single.
Verwenden Sie einfach einen der folgenden Links, um die gewünschte Version zu erhalten
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js – Version 1.x.x
http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js – Version 1.7.x
http://ajax.googleapis.com/ajax/libs/jquery/1.7.4/jquery.min.js – Version 1.7.4
http://code.jquery.com/jquery-latest.min.js – neueste Version
Nur mein Senf…
So wie WordPress eingerichtet ist, sollten Sie nicht von einem CDN laden, sondern WordPress immer seine eigene Version von jQuery verwenden lassen, da es sonst Probleme geben kann.
wp_enqueue_script("jquery");Die Idee, es vom CDN zu beziehen, funktioniert manchmal nicht gut mit anderen WordPress-Plugins und Skripten, deshalb mag die WordPress-Community es nicht … obwohl es ansonsten generell eine gute Idee ist.Hallo Dude, ich möchte eine heruntergeladene Slideshow in mein WordPress-Theme einfügen…. Ich habe JavaScript- und CSS-Dateien eingebunden………….finde aber Schwierigkeiten in der slides.php-Datei beim Platzieren von HTML-Codes darin…..bitte raten Sie…..
Das ist in Ordnung, wenn Sie niemals, niemals Ihr Theme *verteilen* wollen und sich nicht zu sehr darum kümmern, Plugins von der WordPress-Community zu verwenden.
Wenn Sie Ihr Theme jedoch an andere WordPress-Benutzer *verteilen*, tun Sie der gesamten Community einen Bärendienst, indem Sie Googles jQuery verwenden. WordPress enthält bereits eine Version von jQuery und Sie *sollten* diese Version verwenden.
Viele Theme-Entwickler entscheiden sich, die mit WordPress gelieferte Version nicht zu verwenden, da sie im noConflict-Modus ist. Sie müssen sich *nur ein bisschen mehr Mühe geben*, um Ihre JS mit dem noConflict-Modus zum Laufen zu bringen. Das Weglassen und Verwenden von Google (was reguläres jQuery ist, kein noConflict) scheint also ein einfacher Weg zu sein, die paar zusätzlichen Momente zu vermeiden, die es braucht, um Ihr JS korrekt zu programmieren.
Das Problem ist, dass Sie nun geändert haben, was jeder andere Entwickler von WordPress erwartet. Sie haben ihre Plugins entwickelt, um mit der integrierten noConflict-Version von jQuery zu arbeiten, mit der WordPress gebündelt ist, und Sie haben ihnen und allen, die Ihr Theme verwenden, den Boden unter den Füßen weggezogen.
Das Deregistrieren der gebündelten jQuery-Version und stattdessen die Verwendung von Googles Version klingt zunächst gut, verursacht aber viele Probleme. Rechnen Sie damit, dass Plugins mindestens nicht mehr funktionieren. Stattdessen bitte ich alle, sich die Zeit zu nehmen, zu lernen, wie man JS erstellt, um mit dem noConflict-Modus zu arbeiten, und einfach das zu verwenden, womit WordPress geliefert wird – das wird Ihr Theme am Ende *viel stärker* machen.
Natürlich könnten Sie es vereinfachen, indem Sie '//' anstelle der if-Anweisung verwenden – so
wp_register_script('jquery', "//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", false, null);Der vollständige Code sieht nun so aus
Wie immer, danke für den Beitrag, Chris!
Ja, ich wollte gerade sagen, könnte man nicht einfach die Protokollanalyse vermeiden und nur Protokollambiguität verwenden? Danke Yazin und Chris!
Ausgezeichneter Punkt, ich wollte das gerade hinzufügen. Könnte sogar einen Hauch von Ausführungszeit sparen, um die Protokollspezifikation zu entfernen. Danke Chris!
Eine weitere erwähnenswerte Sache ist, dass die Aktion
'wp_enqueue_scripts'bei Admin-Anfragen nicht ausgeführt wird, sodass dasif (!is_admin())nicht wirklich benötigt wird, obwohl es dem Gelegenheitsleser die Absicht verdeutlicht, der möglicherweise nicht weiß, dass es einen separaten Hook für Admin gibt ('admin_enqueue_scripts').Ich stimme zu, dass dies keine gute Idee ist, da das Laden von jQuery von einem CDN den No-Conflict-Aspekt beseitigt, es sei denn, Sie haben wirklich die Kontrolle über die Endnutzung.
<
p>Hallo, danke für den Tipp.
<
p>
Ich habe ein Problem beim Installieren eines Plugins in meinem Template in WP, und der einzige Weg, es gemäß den Anweisungen des Plugins zu beheben, ist, diesen Code einzufügen
Das ist mein Functions.php
Funcion del tema '', 'after_widget' => '', 'before_title' => '', 'after_title' => '', )); //insert jquery function insert_jquery(){ wp_enqueue_script('jquery'); }Die Anweisung besagt, diesen Code einzufügen
if (!wp_script_is('jquery', 'queue')){ wp_enqueue_script('jquery'); }aber es funktioniert nicht, was kann ich tun? Oder wie füge ich es richtig in functions.php ein?
Ich schätze Ihre Hilfe wirklich :)
Nun… es wäre schön, wenn WordPress tatsächlich alle funktionierenden Teile in einer leicht zu handhabenden UI-Datei enthalten würde, anstatt sie alle durchsuchen zu müssen, um zu sehen, ob es überhaupt in WP funktioniert – ihr Leute, die gegen CDNs wettern; es ist verständlich, aber hey, am Ende geben Sie alle schlechte Ratschläge – zumindest präsentiert Chris eine Option, während Sie den Leuten sagen, tun Sie einfach nichts – das ergibt keinen Sinn. Nehmen Sie Genesis Accordion zum Beispiel, es verwendet das integrierte Jquery-UI… Stattdessen sollten Ihre Eingaben instruktiver sein über die richtigen Methoden zum Registrieren, Enqueuen und Hooken (und auch zum Ausführen im noConflict-Modus), denn Tatsache ist, dass die Leute damit nicht aufhören werden, nur weil Sie es nicht wollen… Ich würde weniger Zeit mit dem CDN-Problem verbringen und mehr Zeit damit, sicherzustellen, dass alle Ihre Plugins bis zum 29. unter 1.9 funktionieren.
Ist das richtig?
Der Funktionsaufruf
Vielen Dank für diesen kleinen Snippet! Hat mir heute geholfen! Eines unserer Plugins ist aufgrund des neuesten jQuery-Updates kaputt gegangen. Hoffentlich kann ich herausfinden, was das Problem für die neueste Version ist, aber für jetzt reicht das aus! Vielen Dank!
HI!
Nur eine kurze Frage – ich habe eine Website, auf der ein Slider läuft, der jQuery 1.6.0 benötigt.
Ich möchte also eine Bedingung in functions.php wie unten erstellen. Ich verstehe, dass es nicht möglich ist, so etwas in functions.php zu tun – aber wie kann ich das erreichen?
Dass is_front_page() jQuery 1.6.0 verwendet und der Rest die neueste Version verwendet…
Ich hatte die größten Schwierigkeiten, mein jQuery in WordPress einzubinden. Ich versuche, das Deregistrieren zu vermeiden. Nach dem Eingeben
in function.php, wie rufe ich meine .js-Datei korrekt auf? Danke!
Ich habe das nach einer guten Stunde gefunden, in der ich mir den Kopf an die Wand geschlagen habe. Es funktionierte perfekt, wo zehn andere Ressourcen versagten. Du bist der Mann, Chris.
Es ist schön, den WP Enqueue-Code hier auf CSS Tricks zu sehen und ohne einen ausschweifenden Artikel dazu (wenn man es eilig hat, zum hilfreichen Code zu gelangen, und zuerst eine riesige Erklärung da ist ;-), aber vielleicht ist er den Kommentaren zufolge etwas zu kurz.
Der Grund, warum Skripte am besten enqueued werden, ist (in keiner bestimmten Reihenfolge)
1) Um sie einfach von der functions.php-Datei aus verwalten zu können
2) Diese Skripte bei Bedarf in der 'Warteschlange' zu ordnen
3) Verwenden Sie bedingte Anweisungen, um das Ent- und Einreihen zu vereinfachen (wenn Sie es unbedingt tun müssen)
4) Konflikte wesentlich einfacher verwalten und beheben
5) Versuchen Sie, die neueste Plugin-Version mit einer einheitlichen Jquery-Version zu synchronisieren, wo immer möglich
Um die Frage "Warum ist das so?" zu beantworten: Früher hatten einige Plugins schlecht implementiertes JS/Jquery (und zahlreiche verschiedene Versionen gleichzeitig – was sowieso fehlschlägt) und dies verursacht massive verwirrende Konflikte, wie viele von Ihnen wahrscheinlich wissen. Die Verwendung des Enqueue-Systems bringt eine gewisse Ordnung in die Verwendung von JQuery in WordPress und macht die Fehlerbehebung definitiv schneller (und aus Erfahrung auch viel seltener notwendig).
Der Code-Schnipsel stammt aus dem WordPress Codex: http://codex.wordpress.org/Function_Reference/wp_enqueue_script
Diese Seite erklärt auch (trocken) die Methoden des Enqueue-Systems im Detail.
Hallo lieber Entwickler
Ich habe gerade Ihre Website gefunden – nun, ich brauche Hilfe mit Jquery
Ich betreibe eine Testseite, auf der ich einen Fehler feststelle
Wahrscheinlich habe ich einige Fehler mit Jquery in WordPress
Meine WordPress-Installation scheint ein wenig fehlerhaft zu sein -...-
Hinweis – ich verwende Version – wp 3.8.1
Sehen Sie den Fehler
http://literaturen.org/wp/test/wp-admin/load-scripts.php?c=1&load%5B%5D=jquery-core,jquery-migrate,utils&ver=3.8.1 <!– siehe
http://literaturen.org/wp/test/wp-admin/load-scripts.php?c=1&load%5B%5D=jquery-core,jquery-migrate,utils&ver=3.8.1 <!– siehe
Was kann ich tun? Jede und jede Hilfe wird sehr geschätzt.
Ich brauche nur Ihre Hilfe
Sie können mich über [email protected] kontaktieren
Viele Grüße
martin
Wie kann ich mein Javascript von meiner statischen Website hochladen und in WordPress verwenden?
Sie können einfach eine von zwei Methoden verwenden.
1) Verwenden Sie Tags. Hier ist ein Beispiel
<script type="text/javascript" src="/path-to/your-javascript.js">2) Registrieren und Enqueuing Ihres Skripts. Hier ist ein Beispiel
`
‚
Sie können einfach eine von zwei Methoden verwenden.
1) Verwenden Sie Tags. Hier ist ein Beispiel
<<script type="text/javascript" src="/path-to/your-javascript.js”>
2) Registrieren und Enqueuing Ihres Skripts. Hier ist ein Beispiel
`
wp_register_script(‘global’, (get_stylesheet_directory_uri() . ‘/assets/js/global.js’), ‘jquery’, ‘1.0’, true);
wp_enqueue_script(‘global’);
`
Sehr nützlich
Sie sollten keine unterschiedliche Version von jQuery für Plugins oder Vorlagen verwenden, da dies zu Konflikten mit anderen Plugins/Vorlagen/Kernteilen von WordPress führen kann. (Es sei denn, Sie müssen es unbedingt...)
https://wordpress.stackexchange.com/questions/45437/including-jquery-and-javascript-files-the-correct-way/45440#45440?newreg=52b3c093eee841c4a1e1b7ab41736b9e
Dies kann wahrscheinlich verbessert werden, um Protokoll-relative URLs zu verwenden (http://www.paulirish.com/2010/the-protocol-relative-url), um den gesamten http/https-Teil zu entfernen
Danke. Ich fand es sehr nützlich für mich.
Hallo Chris, ich benutze enqueue scripts auf einigen WordPress-Seiten, das funktioniert sehr gut. Ich habe angefangen, eine lokale WordPress-Seite auf meinem Mac mit MampPro zu erstellen, aber aus irgendeinem Grund verbindet sie sich nicht mit meiner CSS-Ordner.
Verwende .’css/custom.css’, habe sogar ../css versucht. Irgendwelche Ideen?
Z. B.: get_template_directory_uri().’/css/custom.css’ ); }
Es ist ein Child-Theme, das Haupt-Stylesheet von Twenty Sixteen funktioniert einwandfrei.
Ich bin jetzt nicht auf meinem Mac, poste den Code später
Was wir lesen müssen :)