Was ist der richtige Weg, um WordPress-Funktionen außerhalb von WordPress-Dateien zu verwenden?
-
-
Welche WP-Funktionen versuchen Sie "außerhalb von WP" zu verwenden und warum?Beibeiden Methoden wird die WP-Umgebung weiterhingeladen (allerdings ohne Designunterstützung),sodass Sie *immernoch * Funktioneninnerhalb von WP aufrufen.Which WP functions are you trying to use "outside of WP" and why? Either of these methods will still load the WP environment (albeit without theme support), so you're *still* invoking functions inside of WP.
- 0
- 2012-03-27
- EAMann
-
Ich versuche den Unterschied zwischen denbeiden Methoden zu verstehen.Ich werde das WordPress-Themain mein Support-Skriptintegrieren.Daherbenötigen Sie die Kopf- und Fußzeile sowie die Schleife von WordPress sowie Unterstützungfür Widgets und andere PluginsI am trying to understand the difference between the 2 methods. What I will do is integrate the wordpress theme with my support script. so will need the header, footer and the loop from wordpress plus some support for widgets and other plugins
- 0
- 2012-03-27
- alhoseany
-
Ichbezweifle wirklich,dass Sie so vorgehenmöchten ...esgibt bessere Lösungen als den Versuch,WordPress selbst zubooten.I really doubt this is the way you want to do things ... there are better solutions than trying to bootstrap WordPress itself.
- 0
- 2012-03-27
- EAMann
-
Ichbin offenfür Vorschläge,ich suche denbesten Weg,um Dinge zutun?Wasist derbeste Weg,umein WordPress-Themain eineexterne Webanwendung zuintegrieren?I am wide open for suggestions, I am looking for the best way to do things? what is the best way to integrate wordpress theme with outside web application?
- 0
- 2012-03-28
- alhoseany
-
6 Antworten
- Stimmen
-
- 2012-03-27
Esgibt kaumeinen Unterschied zwischen den Dateien. Wenn Sieeine WordPress-Seite anzeigen,lautet dieerste aufgerufene Datei
index.php
. Undesistim Wesentlichen Ihre "Methode 1:"define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */ require ('./wp-blog-header.php');
Die Blog-Header-Datei (die den Rest von WordPressin die Warteschlange stellt) lädt
wp-load.php
direkt und startet WordPress selbst. Hierist dergrößte Teil vonwp-blog-header.php
:if ( !isset($wp_did_header) ) { $wp_did_header = true; require_once( dirname(__FILE__) . '/wp-load.php' ); wp(); require_once( ABSPATH . WPINC . '/template-loader.php' ); }
Der Unterschied zwischen Ihrenbeiden Methodenist also ... wasgeladen wird.
Methode 1istgenau das,was WordPresstut,um sich selbst zu laden (mit Ausnahme des Deaktivierens von Themen). Wenn Sie also all von WordPressbenötigen und alle Standard-Hooks/-Aktionen auslösenmöchten,wählen Sie diese Route.
Methode 2istnurein weiterer Schritt auf derganzen Linie. Es lädtganz WordPress,ruftjedochnicht
wp()
auf oder ruft den Template Loader (von Themes verwendet) auf. Methode 2istetwas leichter,sollte aber diegleiche Funktionalitätbieten.There's little difference between the files. When you view a WordPress page, the first file called is
index.php
. And it is, essentially, your "Method 1:"define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */ require ('./wp-blog-header.php');
The blog header file (that queues up the rest of WordPress) loads
wp-load.php
directly and fires up WordPress itself. Here's most ofwp-blog-header.php
:if ( !isset($wp_did_header) ) { $wp_did_header = true; require_once( dirname(__FILE__) . '/wp-load.php' ); wp(); require_once( ABSPATH . WPINC . '/template-loader.php' ); }
So the difference between your two methods is ... what's loaded.
Method 1 is exactly what WordPress does to load itself (with the exception of turning themes off). So if you need all of WordPress and want to fire all of the default hooks/actions, go with that route.
Method 2 is just a further step down the line. It loads all of WordPress, but doesn't call
wp()
or invoke the template loader (used by themes). Method 2 will be a little lighter-weight, but should give you the same functionality.-
Gibtesein Diagramm oderetwas,das all diese Dateien abbildet?Ich habe vor langer Zeiteinen gesehen,aberich kannihnnichtfinden.Is there a diagram or something that maps all these files out? I saw one long ago but I can't find it.
- 3
- 2015-06-12
- ninja08
-
- 2012-03-27
Methode 2 aus Ihrer Frage:
<?php define( 'WP_USE_THEMES', false ); // Don't load theme support functionality require( './wp-load.php' );
wp-load.php
ist der Zugriff auf alle Funktionen von WordPress,dasist alles.Dieerste Zeile weist WordPress an,die Themendateiennicht zu laden.Möglicherweise sind die Dateienfür Ihre Anforderungenerforderlich. Entfernen Sie dann die Zeile.Method 2 from your question:
<?php define( 'WP_USE_THEMES', false ); // Don't load theme support functionality require( './wp-load.php' );
wp-load.php
is the access to all functions of WordPress, that's all. The first line tells WordPress to load not the Theme files; maybe the files are necessary for your requirements, then remove the line.-
Wasbedeutet dieseerste Zeile überhaupt?what does that first line even means ?
- 1
- 2012-03-27
- Sagive SEO
-
In derersten Zeile wird WordPress angewiesen,nicht alle Funktionen zur Unterstützung von Designs zu laden.Laden Siegrundsätzlich weniger Dateien.The first line tells WordPress not to load all of its theme support functionality. Basically, load fewer files.
- 8
- 2012-03-27
- EAMann
-
Wird dieerste Zeilenurfür dieerste Methodebenötigt?Is the first line needed only for the first method?
- 0
- 2014-10-05
- mcont
-
- 2016-04-11
wp-blog-header.phpfügteinen Header-Status hinzu undgibt einen http-Statuscode von 404
zurückwp-load.php wirdnicht
Nützlich,wenn Sie Ajax verwenden,um den http-Statuscode zu überprüfen.
wp-blog-header.php will attached a header status, it will return a http status code of 404
wp-load.php will not
Useful to note when using ajax as it checks the http status code
-
- 2015-10-27
Manchmal kann das Laden der Dateifunctions.php des Themas zu Problemenführen.Es hat das HTMLmeiner anderen Seitegebrochen.Das habeichgetan undmein Problemgelöst:
define('STYLESHEETPATH', ''); define('TEMPLATEPATH', ''); require_once(RAIZ_WORDPRESS."/wp-load.php");
Sometimes loading the functions.php of the theme can cause you some trouble. It was breaking the html of my other page. So that's what I did and solved my problem:
define('STYLESHEETPATH', ''); define('TEMPLATEPATH', ''); require_once(RAIZ_WORDPRESS."/wp-load.php");
-
- 2015-12-14
@ninja08
Wir können die xDebug-PHP-Erweiterung verwenden,umein Skript zu analysieren.
aktivieren Sieeinfach
;xdebug.profiler_enable = 1
in Ihrerphp.ini
-Datei,indem Sie;
aus derersten Zeileentfernen undnach diesem Neustart des Apache-Servers und Ausführen Ihrer WordPress-Site ...jetzteine Datei,dieim tmp-Verzeichnis Ihres xampp-Serverserstellt wurde. Öffnen Sie diese Dateimit WincachGrind -Anwendung.Jetzt können Sieeine Karte Ihres Skripts sehen
@ninja08
We can use xDebug php extension to analyze an script.
just enable
;xdebug.profiler_enable = 1
in yourphp.ini
file by removing;
from first of line and after this restart apache server and run your wordpress site ...now a file created in tmp directory of your xampp server ..open this file with WincachGrind application.now you can see a map of your script
-
Sie sollten diesim Kommentar unterninja08 hinzugefügt haben.Diesistjetzteine falsche Antwort.You should have added this in the comment below ninja08. this is now an incorrect answer.
- 0
- 2015-12-15
- alhoseany
-
@alhoseanyja..ijetztistes ... aberich habenichtgenug Ruf ... und dannentscheideichmich,dies zutun.@alhoseany yes..i now it... but i dont have enough reputation...and then i decide to do this.
- 2
- 2015-12-15
- Mostafa
-
- 2020-05-07
Siemüssennicht dasgesamte Thema aufrufen,um Funktionen zu verwenden. Verwenden Sieeinfach den Speicherortfür wp-load.phpim WordPress-Verzeichnis.
<?php require($_SERVER['DOCUMENT_ROOT'] . '/wordpress/wp-load.php'); ?>
You don't have to call the entire theme to use functions, just use the location for wp-load.php in wordpress directory.
<?php require($_SERVER['DOCUMENT_ROOT'] . '/wordpress/wp-load.php'); ?>
Ich habe zwei Methoden zum Initialisieren der WordPress-Funktion außerhalb von WordPress-Dateiengelesen,damit wir diese Funktionen aufjeder Seite oder Website außerhalb des WordPress-Blogs verwenden können.
Welche dieserbeiden Methodenist die richtige?Was sind die Anwendungsfällefürjede Methode,wennbeide korrekt sind?Wasist der Unterschied zwischen der Verwendung dereinen oder der anderen Methode?
Methode 1:
Methode 2: