Die wp_register_script()
Codex-Seite sagt wörtlich:
Eine sichere Möglichkeit, Javascripts in WordPress für die spätere Verwendung mit zu registrieren wp_enqueue_script()
.
Das heißt, wenn Sie Ihre Skripte registrieren möchten, diese aber nicht direkt in Ihre Seiten laden möchten, können Sie die Dateien einmal registrieren und sie dann bei Bedarf laden.
Zum Beispiel:
Sie haben eine switch-Anweisung, die einige Funktionen lädt, aber zwei von drei Fällen benötigen eine bestimmte Javascript-Datei, und einer nicht. Sie können das Skript jedes Mal in die Warteschlange stellen, was mehr Ressourcen kostet, oder das Skript einfach in die Warteschlange stellen, wenn Sie es benötigen:
...
wp_register_script( 'my-handy-javascript', ... );
...
switch( $somevar ) {
case 'value':
wp_enqueue_script( 'my-handy-javascript' ); // needs the file
...
break;
case 'value2':
wp_enqueue_script( 'my-handy-javascript' ); // needs the file
...
break;
default:
case 'value3': // doesn't needs the file
...
break;
}
Es ist nicht erforderlich, ein Skript zu registrieren und anschließend in die Warteschlange zu stellen. Es kann jedoch eine gewisse Logik in Ihrem Code enthalten, wenn Sie alle Skripts registrieren, die Sie an einer beliebigen Stelle in Ihrem Code benötigen functions.php
.
Der Kodex sagt auch Folgendes:
Verwenden Sie die wp_enqueue_scripts
Aktion, um diese Funktion aufzurufen oder admin_enqueue_scripts
um sie auf der Administratorseite aufzurufen.
Das bedeutet , dass , wenn Sie Ihren Skript auf den frond-end einzuzureihen und in dem Back-End, Sie einmal ein Skript registrieren können, und dann laden auf dem Front-End mit wp_enqueue_script
und in dem Back-End mit admin_enqueue_script
.
Auf diese Weise haben Sie in einem Thema, Plugin, Widget oder was auch immer nicht zweimal die gleiche Enqueue-Funktion.
enqueue
anstelle vonregister
.wp_enqueue_style()
. Dies wäre nur ein größerer Tippaufwand, würde jedoch nicht zu einem höheren Ressourcenbedarf führen. Richtig?wp_register_script()
ein Skript einfach registrieren können, damit es als Abhängigkeit für andere Skripte verwendet und nur mit diesen geladen werden kann, ohne jemals direkt in eine Warteschlange eingereiht zu werden.IMHO ist der Hauptvorteil der Verwendung
wp_register_script
vorwp_enqueue_scripts
im folgenden Absatz von Codex dargestellt :Wenn Sie der Meinung sind, dass Sie dies nicht benötigen (z. B. weil Sie zu 100% sicher sind, dass Ihr Skript nicht in Abhängigkeiten verwickelt ist), können Sie wahrscheinlich direkt mit dem Skript fortfahren
wp_enqueue_scripts
, ohne eine Vorabversion zu erstellenwp_register_script
.quelle
Ich habe einige Artikel durchgesehen und bin zu folgendem Schluss gekommen. Ich denke es hilft.
wp_register_script()
ist nur das Registrieren. nicht laden. Das registrierte Skript wird erst geladen, wenn es mit in die Warteschlange gestellt wirdwp_enqueue_script()
.wp_enqueue_script()
Funktion das Skript automatisch registriert.Wir müssen uns jedoch registrieren, während wir uns in einer der folgenden Situationen befinden:
ein. Nehmen wir an, wir brauchen ein Skript, um es an mehr als einer Stelle zu laden, etwa einmal im Front-End und einmal im Back-End (Admin-Seite). Jetzt können wir das Skript nur einmal registrieren. Und dann einzeln in Front-End und Back-End einreihen. Schauen Sie, das Einreihen bedeutet das Laden. Registrieren heißt nicht laden. Falls wir es nicht registrieren, wird es automatisch so oft registriert, wie wir es in die Warteschlange stellen. Wenn wir es hingegen einmal registrieren, wird es einmal registriert, unabhängig davon, wie oft wir es in die Warteschlange stellen.
b. Wenn wir ein Skript als Abhängigkeit von anderen Skripten verwenden möchten, müssen wir es nicht mit einer Enqueue versehen
wp_enqueue_script()
. Einfach bei registrierenwp_register_script()
. Und es wird automatisch in die Warteschlange gestellt, wenn der Handle-Name als Abhängigkeit von anderen Skripten verwendet wird, mit denen es in die Warteschlange gestellt wirdwp_enqueue_script()
.c. Wenn das Skript nicht sofort, sondern bei Bedarf geladen werden soll, können Sie es einfach für die spätere Verwendung registrieren. Der Anwendungsfall wurde oben gezeigt.
NB Soweit ich überzeugt bin, kann dieselbe Schlussfolgerung für die CSS-Stylesheets gezogen werden. Ich will damit sagen, dass wir
wp_register_style()
undwp_enqueue_style()
auf die gleiche Weise nutzen können.Beachten Sie, dass die hier gezogene Schlussfolgerung meinen eigenen Abzug widerspiegelt. Wenn ich falsch liege, korrigieren Sie mich bitte. Und Sie könnten zu einem anderen und viel besseren Ergebnis gekommen sein. Dann lassen Sie es uns bitte wissen. Wer weiß? Vielleicht ist deins das Beste. Wie das Sprichwort sagt: "So viele Grundsätze, so viele Wege zur Erlösung." :)
https://sxbook.blogspot.com/2018/12/wpregisterscript-when-to-use.html
quelle