wake-up-neo.com

Wo ist der richtige Ort, um Skripte und Stile zu registrieren/in die Warteschlange zu stellen

Ich benutze jetzt WordPress 3.1.4. Ich bin verwirrt mit wo (welchen Haken) ich benutze:

  • zu registrieren und/oder in die Warteschlange zu stellen
  • skripte und Stile
  • an Front- und Backends?

Fragen:

  • Welches sind die richtigen Haken?
  • Alle Front-End-Register/Enqueue-Skripte/-Stile in init?
  • Warum gibt es keinen admin_print_styles-{xxx}?
43
JM at Work

Warum es wichtig ist, sich richtig anzumelden und in die Warteschlange zu stellen

  • es sollte rechtzeitig - früher sein, als das Skript/der Stil für die Ausgabe auf der Seite verfügbar ist, da es sonst zu spät ist.

  • 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

  1. register - dies erklärt WP Details zu Skript/Stil und veranlasst es, diese Informationen zu speichern;

  2. enqueue - (häufig zusammen mit register in einem wp_enqueue_*()-Aufruf zusammengefasst) - Weist WP an, der Warteschlange Skripte/Stile entsprechend ihren Einstellungen (Abhängigkeiten, Laden der Kopf-/Fußzeile) hinzuzufügen.

  3. print - dies geschieht, wenn WP die Warteschlange verarbeitet, versucht, etwas Spezielles für sich selbst zu laden oder wenn Sie dies explizit mit der Funktion wp_print_*() tun.

Frontend-Struktur von Funktionen und Hooks

  • wp_head()

    • wp_head

      • (1) wp_enqueue_scripts()

        wp_enqueue_scripts "das ist was du brauchst

      • (8) wp_print_styles()

      • (9) wp_print_head_scripts()

  • 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 und genau dafür gibt es ihn;

  • init hat nichts damit zu tun, es wird funktionieren, aber - die frühere Codex-Empfehlung, nur zu verwenden, war falsch ;

  • sie können jederzeit vor dem Aufruf von wp_print_footer_scripts() keine Skripte (keine Stile) für die Fußzeile in die Warteschlange stellen.

  • wp_print_* Hooks sind NICHT geeignet für register/queue , 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 benutze einfach admin_enqueue_scripts hook (es wird übergeben$hook_suffix global für bedingte Dinge ) für alles, es wird in den meisten Fällen gut funktionieren;

  • wenn Sie etwas Komplexes benötigen, durchsuchen Sie admin-header.php und suchen Sie von dort aus nach geeigneten Hooks.

Was ist mit Login?

Es gibt einen bestimmten Hook namens login_enqueue_scripts.

63
Rarst