Also benutze ich Starkers, um mein nächstes WP-Thema zu erstellen, und ich bin auf ein kleines Problem gestoßen. Ich habe meine eigene Version von jQuery in die header.php
Datei aufgenommen, aber als ich meine Site mit Firebug inspizierte, bemerkte ich, dass jquery zweimal heruntergeladen wurde Ich habe ein bisschen gegraben und festgestellt, dass ich nicht nur die Datei einbezog, sondern auch die wp_head()
Funktion.
Bei dem Versuch, das Problem zu beheben, bemerkte ich einen Kommentar in der Header-Datei, der aus dem Twenty Ten-Thema stammte:
/* Always have wp_head() just before the closing </head>
* tag of your theme, or you will break many plugins, which
* generally use this hook to add elements to <head>, such
* as styles, scripts, and meta tags
*/
Hier ist also mein Problem, ich habe den Eindruck, dass die jQuery-Datei vor jeder anderen Datei gesetzt werden muss, die sie verwenden möchte, und das wp_head()
sollte das Letzte in dem <head>
Element sein Ich habe wp_head()
die oberste Zeile gesetzt, damit die in WP enthaltene jQuery-Datei für alle meine Plugins verwendet wird, auch wenn darauf hingewiesen wird, dass dies nicht der Fall ist.
Ich habe die jQuery-Zeile in der wp_head()
Funktion auskommentiert, aber sie ist für die Admin-Seite erforderlich, sodass ich sie zurücksetzen musste.
Ich würde auch gerne (zumindest experimentieren) mit der Google CDN-Version von jQuery arbeiten, möchte sie aber nicht zweimal einbinden!
Ich hoffe, Sie verstehen, was ich zu erklären versuche. Vorschläge, wie ich dieses Problem lösen kann, sind sehr willkommen. Ich würde mich auch über Ratschläge freuen, wie Sie mit Ihren JavaScript-Dateien mit der Header-Datei umgehen.
Vielen Dank!
quelle
Antworten:
Nach dem Wortlaut Ihrer Frage müssen Sie Skripte hinzufügen, indem Sie
<script>
Tags in Ihre Vorlage schreiben . Fügen Sie Ihre eigenen Skripte überwp_enqueue_script()
in Ihre Vorlage einfunctions.php
, wobei Sie die Abhängigkeiten von jQuery entsprechend einstellen, undwp_head()
fügen Sie die Skripte für Sie hinzu.Weitere Informationen finden Sie auf der Codex-Seite .
quelle
<script>
Tags Skripte hinzufüge. Dies ist die Alternative, nach der ich gesucht habe. Vielen Dank! :-)'template_redirect'
stattdessen an'init'
.is_admin()
.get_header()
infunctions.php
eine Warteschlange ein. Wenn Sie dies tun, reihen Sie sie auf jeder Seite in eine Warteschlange, die möglicherweise nicht erforderlich ist. Wenn ich ein globales habe, stelle ich es in die Warteschlange,header.php
bevorwp_head()
es aufgerufen wird. Auf diese Weise befinden sich die Warteschlangen dort, wo Sie sie erwarten würden<head>
Ich schlage vor, einen Blick auf 5 Tipps zur Verwendung von jQuery mit WordPress zu werfen . Unter anderem wird der Code angezeigt, der zum Laden von jQuery aus der Google-Bibliothek erforderlich ist:
Sie können auch das Plugin " Google-Bibliotheken verwenden" aufrufen.
quelle
template_redirect
stattdessen den Anschluss aninit
.Obwohl @tnorthcutt korrekt ist, dass Sie die native JQuery von WP ordnungsgemäß aus der Warteschlange entfernen sollten, wenn Sie Ihre eigene JQuery laden möchten, treten beim Laden einer anderen JQuery-Version, die von WP Core unterstützt wird, mit Sicherheit Probleme auf. Sowohl Core als auch Plugins setzen voraus, dass sie vorhanden sind. Wenn Sie Ihr Thema also nicht jedes Mal, wenn WP aktualisiert wird, mit der neuesten JQuery aktualisieren, kann Ihre Website beschädigt werden.
Der folgende Code stellt sicher, dass Ihr Design immer die richtige Version von jquery lädt, indem Sie zuerst nachsehen, welche Version WP verwendet, und diese dann von Google laden:
quelle