Warum es wichtig ist, sich richtig anzumelden und in die Warteschlange zu stellen
es sollte pünktlich sein - früher als das Skript / der Stil für die Ausgabe auf der Seite verfügbar ist, sonst ist es zu spät;
es sollte bedingt sein - andernfalls laden Sie Dinge, die Sie nicht benötigen, und verursachen Leistungs- und Funktionsprobleme. Dazu müssen Sie die WP-Umgebung zu einem späten Zeitpunkt laden.
Die drei Phasen des Prozesses
register - Hier werden WP-Details zu Skript / Stil erklärt und diese Informationen werden gespeichert.
enqueue - (oft zusammen mit register in einem wp_enqueue_*()
Aufruf zusammengefasst) - weist WP an, der Warteschlange Skripte / Stile entsprechend ihrer Einstellungen (Abhängigkeiten, Laden von Kopf- / Fußzeilen) hinzuzufügen.
print - dies geschieht, wenn WP die Warteschlange verarbeitet, versucht, etwas Spezielles für sich selbst zu laden oder wenn Sie dies explizit mit wp_print_*()
function tun .
Frontend-Struktur von Funktionen und Hooks
wp_head()
wp_footer()
wp_footer
- (10)
wp_print_footer_scripts()
Es geht viel tiefer, aber das ist einfach und gut genug für wichtige Punkte:
wp_enqueue_scripts
ist am besten geeignet, um Skripte und Stile im Front-End zu registrieren und in die Warteschlange zu stellen .
init
hat nichts damit zu tun, es wird funktionieren, aber - die frühere Codex-Empfehlung, nur es zu verwenden, war falsch ;
Sie können jederzeit vor dem wp_print_footer_scripts()
Aufruf Skripte (keine Stile) für die Fußzeile in die Warteschlange stellen .
wp_print_*
Hooks sind NICHT für Register / Queue geeignet , sie sind Punkte im Code, wenn die Ausgabe bereits erfolgt. Sie eignen sich für die manuelle / benutzerdefinierte Skript- / Stilausgabe.
Was ist mit admin?
Nun, die Funktionalität dort ist noch komplexer, ausgefeilter und verschachtelter.
Für den Anfang verwenden Sie einfach admin_enqueue_scripts
hook (es wird $hook_suffix
global für bedingte Dinge übergeben ) für alles, es wird in den meisten Fällen gut funktionieren;
Wenn Sie etwas Komplexes benötigen, suchen Sie admin-header.php
von dort aus nach geeigneten Haken.
Was ist mit Login?
Es gibt einen bestimmten Haken namens login_enqueue_scripts
.
admin_print_scripts-{xxx}
. Ich fand dasadmin_print_scripts
hieß aber nicht mit-{xxx}
zb.-edit.php
zum Beispiel. Wie recht ist die Antwort von Einreihen inadmin_print_scripts-xxx
und was empfehlen Sie stattdessen - nehme ich will scripts / Arten in einer benutzerdefinierten Post - Typ Add / Edit - Seite enthalten (für metabox)*print*
dich von Haken fern , es sei denn, du weißt wirklich, warum du sie brauchst. Und insgesamt sind sie für den Druck bestimmt , nicht für die Warteschlange .admin_enqueue_scripts
hooks übergibt eine$hook_suffix
Variable, die der in diesen dynamischen Hooks verwendeten entspricht.$hook_suffix
sieht aus wie post.php in meiner Portfolio-Seite bearbeiten, warum ist das so? Ich dachte, es wäre auch edit.php. Wie kann ich dann feststellen, ob ich ein Portfolio bearbeite / poste und keinen normalen Beitrag?add_*_page()
Funktionsrückgabe), aber in nativen WP-Bildschirmen kann es verschiedene Dinge geben.