wake-up-neo.com

'jQuery is not defined Error' erscheint in load-scripts.php

Ich schreibe diese Frage, nachdem ich bereits eine Lösung gefunden habe, um zu sehen, ob andere Leute auf dieses Problem gestoßen sind.

Ich hatte ein Problem auf dem Back-End einer Site, die ich in WordPress baue, in der sich alle JQuery-Skripte befanden, die ich mithilfe der nativen WordPress-Handles (dh JQuery-UI-Core, JQuery-UI-Sortierbar usw.) zu laden versuchte wird nicht geladen. Wenn ich den Status dieser Skript-Handles mit der Funktion wp_script_is () überprüfte, stellte sich heraus, dass sie registriert, in die Warteschlange gestellt, aber nicht gedruckt wurden. Zur gleichen Zeit registrierte meine load-scripts.php-Datei einen Fehler: "jQuery not defined".

Es stellt sich heraus, dass dieses Problem mit einer neuen Funktion in Wordpress 3.5 zu tun hat, mit der versucht wird, alle Javascript-Anforderungen in einem einzigen Aufruf zusammenzufassen. Diese Funktion verursachte jedoch aus irgendeinem Grund Konflikte mit einigen Plugins. Das hat zumindest Kevin Leary berichtet hier . Die von Leary beschriebene Lösung besteht darin, diese Funktion zu deaktivieren, indem der Datei wp-config.php (nach der Zeile, die den ABSPATH definiert) die folgende Zeile hinzugefügt wird:

define('CONCATENATE_SCRIPTS', false);

Versteht jemand, warum dieser Fehler auftritt? Und ist das ein Fehler in der neuen Version von Wordpress?

1
fraxture

Aus diesem OP-Kommentar:

obwohl die Site selbst das Haupt-WordPress-JQuery-Handle abmeldet und es neu registriert, um auf die Google-CDN-Version zu verweisen

Das ist dein Problem.

Das Problem ist weder bei WordPress 3.5 per se noch bei Plugins ein Problem.

Das Problem ist, dass Sie die Registrierung der jQuery-Kernversion aufheben (selbst ein inhärentes Problem, das alle möglichen anderen Probleme verursacht), und dies wahrscheinlich bei einer Aktion, die dazu führt, dass andere Skripte jQuery nicht als ein abrufen können erforderliche Abhängigkeit.

2
Chip Bennett