Was ist der Einstiegspunkt für ein WordPress-Theme?

Wenn WordPress geladen wird und das Thema analysiert wird, welche Datei wird zuerst geladen? Ist es eines der Template-Hierarchie Mitglieder oder ist es functions.php? Gibt es Ausnahmen für die Ladereihenfolge von Dateien im Theme? Weißt du wo in den Core-Dateien (Quellcode) das passiert?

Während meiner “Untersuchung” habe ich jede Datei im Theme-Ordner falsch protokolliert und es scheint, dass der Einstiegspunkt functions.php ist.

Bonus-Frage:

Ich möchte die Benutzerauthentifizierung und Berechtigungen an einer Stelle und nicht in den verschiedenen Mitgliedern der Vorlagenhierarchie überprüfen. Hast du ein Beispiel für strukturierte OOP-Lösungen in einem öffentlichen WordPress-Plugin oder -Thema?

Solutions Collecting From Web of "Was ist der Einstiegspunkt für ein WordPress-Theme?"

Die functions.php des aktiven Themes ist die erste geladene wp-settings.php in der Datei wp-settings.php . Alle anderen Designdateien werden abhängig vom Kontext der Anforderung geladen. Dies geschieht sehr spät im Ladeprozess, nachdem der Benutzer authentifiziert wurde, die Anforderung analysiert wurde und die Abfrage ausgeführt wurde. Vorlagen dienen zur Anzeige, nichts gehört zu einer Vorlage, die nicht mit der Frontend-Anzeige zusammenhängt.

Der Großteil der Authentifizierung geschieht in der pluggable.php , mit der Sie die Authentifizierungsfunktionen überschreiben können. Dies ist wahrscheinlich, wo Sie suchen möchten, wenn Sie den Authentifizierungsprozess anpassen möchten. Die function wp_get_current_user wird von der wp class ausgetriggers, um den process zu starten. Es gibt auch ein paar Aktionen, die in diesem process ausgetriggers werden, die Sie Ihren eigenen Code ausführen und den process kurzschließen können, und sind eine viel einfachere und sicherere Möglichkeit, Ihre eigenen Auth-Zeug zu tun, als Pluggable-functionen vollständig zu überschreiben.

Ich empfehle Ihnen, sich mit der Aktionsreferenz vertraut zu machen, um die Reihenfolge zu sehen, in der Dinge im Ladeprozess passieren. Fast alles, was Sie in WordPress tun, wird an eine Aktion angehängt, die zu einem bestimmten Zeitpunkt ausgeführt wird. Ich schlage außerdem vor, dass Sie Ihren Code in ein Plug-in oder ein Plug-in für die Verwendung verwenden, wenn Sie möchten, dass es unabhängig vom ausgewählten Thema vorhanden ist.

Was die Bonusfrage angeht – ich kann mir keinen Kopf ausdenken, vielleicht denke ich später an etwas …