Ich habe 2 Methoden zum Initialisieren der WordPress-Funktion außerhalb von WordPress-Dateien gelesen, damit wir diese Funktionen auf jeder Seite oder Website außerhalb des WordPress-Blogs verwenden können.
Welche dieser beiden Methoden ist die richtige? Was sind die Anwendungsfälle für jede Methode, wenn beide korrekt sind? Was ist der Unterschied zwischen der einen oder der anderen Methode?
Methode 1:
<?php
define('WP_USE_THEMES', false);
require('./wp-blog-header.php');
?>
Methode 2:
<?php
define('WP_USE_THEMES', false);
require('./wp-load.php');
?>
php
wp-load.php
wp-blog-header.php
Alhoseany
quelle
quelle
Antworten:
Es gibt kaum einen Unterschied zwischen den Dateien. Wenn Sie eine WordPress-Seite anzeigen, lautet die erste aufgerufene Datei
index.php
. Und es ist im Wesentlichen Ihre "Methode 1:"Die Blog-Header-Datei (die den Rest von WordPress in die Warteschlange stellt) wird
wp-load.php
direkt geladen und startet WordPress selbst. Hier ist das meiste vonwp-blog-header.php
:Der Unterschied zwischen Ihren beiden Methoden ist also ... was geladen ist.
Methode 1 ist genau das, was WordPress tut, um sich selbst zu laden (mit Ausnahme des Deaktivierens von Themen). Wenn Sie also ganz WordPress benötigen und alle Standard-Hooks / -Aktionen auslösen möchten, gehen Sie auf diese Route.
Methode 2 ist nur ein weiterer Schritt auf der ganzen Linie. Es lädt alles von WordPress, ruft aber nicht
wp()
den Template Loader auf (der von Themes verwendet wird). Methode 2 ist etwas leichter, sollte aber die gleiche Funktionalität bieten.quelle
Methode 2 aus Ihrer Frage:
wp-load.php
ist der Zugriff auf alle Funktionen von WordPress, das ist alles. In der ersten Zeile wird WordPress angewiesen, nicht die Themendateien zu laden. Vielleicht sind die Dateien für Ihre Anforderungen notwendig, dann entfernen Sie die Zeile.quelle
wp-blog-header.php fügt einen Header-Status hinzu und gibt den http-Statuscode 404 zurück
wp-load.php geht nicht
Nützlich, wenn Sie Ajax verwenden, um den http-Statuscode zu überprüfen
quelle
Manchmal kann das Laden der functions.php des Themes zu Problemen führen. Es hat den HTML-Code meiner anderen Seite verletzt. So habe ich es gemacht und mein Problem gelöst:
quelle
@ ninja08
Wir können die xDebug-PHP-Erweiterung verwenden, um ein Skript zu analysieren.
nur ermöglichen ,
;xdebug.profiler_enable = 1
in Ihrerphp.ini
Datei durch Entfernen;
von der ersten Linie und nach diesem Neustart Apache - Server und führen Sie Ihre Wordpress - Seite ... jetzt eine Datei erstellt in tmp - Verzeichnis Ihrer XAMPP Server ..open diese Datei mit WincachGrind Anwendung.Jetzt können Sie eine Karte Ihres Skripts sehen
quelle