Quelle est la bonne façon d'utiliser les fonctions WordPress en dehors des fichiers WordPress?
-
-
Quellesfonctions WPessayez-vous d'utiliser "en dehors de WP"et pourquoi?L'une ou l'autre de cesméthodes chargeratoujours l'environnement WP (bien que sanspriseen charge duthème),vousinvoquez donc *toujours * desfonctions à l'intérieur de WP.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
-
J'essaye de comprendre la différenceentre les 2méthodes.Ce queje vaisfaire,c'estintégrer lethème wordpress avecmon script de support.vous aurez doncbesoin de l'en-tête,dupied depageet de laboucle de wordpressplus un supportpour les widgetset autrespluginsI 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
-
Je doute vraiment que ce soit lafaçon dont vous voulezfaire les choses ...ilexiste demeilleures solutions que d'essayer de démarrer WordPress lui-même.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
-
Je suis ouvert aux suggestions,je cherche lameilleurefaçon defaire les choses?Quelleest lameilleurefaçon d'intégrer lethème wordpress à une application Webextérieure?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 réponses
- votes
-
- 2012-03-27
Il y apeu de différenceentre lesfichiers. Lorsque vous affichez unepage WordPress,lepremierfichier appeléest
index.php
. Et c'est,essentiellement,votre "Méthode 1:"define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */ require ('./wp-blog-header.php');
Lefichier d'en-tête dublog (quimet enfile d'attente le reste de WordPress) charge
wp-load.php
directementet lance WordPress lui-même. Voici l'essentiel dewp-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' ); }
La différenceentre vos deuxméthodesest donc ... ce quiest chargé.
Laméthode 1estexactement ce que WordPressfaitpour se charger (à l'exception de la désactivation desthèmes). Donc,si vous avezbesoin de tout de WordPresset que vous voulez déclenchertous les hooks/actionspar défaut,suivez cette route.
Laméthode 2n'est qu'unpas deplus sur la ligne. Il chargetout WordPress,maisn'appellepas
wp()
oun'appellepas le chargeur demodèles (utilisépar lesthèmes). Laméthode 2 sera unpeuplus légère,mais devrait vous offrir lesmêmesfonctionnalités.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.-
Y a-t-il un diagramme ou quelque chose quimappetous cesfichiers?J'en ai vu unil y a longtempsmaisje ne letrouvepas.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
Méthode 2 de votre question:
<?php define( 'WP_USE_THEMES', false ); // Don't load theme support functionality require( './wp-load.php' );
wp-load.php
est l'accès àtoutes lesfonctions de WordPress,c'esttout.Lapremière ligneindique à WordPress dene pas charger lesfichiers dethème;peut-être que lesfichiers sontnécessairespour vosbesoins,puis supprimez la ligne.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.-
que signifiemême cettepremière ligne?what does that first line even means ?
- 1
- 2012-03-27
- Sagive SEO
-
Lapremière ligneindique à WordPress dene pas chargertoutes sesfonctionnalités de support dethème.Engros,chargezmoins defichiers.The first line tells WordPress not to load all of its theme support functionality. Basically, load fewer files.
- 8
- 2012-03-27
- EAMann
-
Lapremière ligneest-ellenécessaire uniquementpour lapremièreméthode?Is the first line needed only for the first method?
- 0
- 2014-10-05
- mcont
-
- 2016-04-11
wp-blog-header.phpjoindra un état d'en-tête,il renverra un code d'état http de 404
wp-load.phpne leferapas
Utile ànoter lors de l'utilisation d'ajax caril vérifie le code d'état http
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
Parfois,le chargement dufichierfunctions.php duthèmepeut vous causer desproblèmes.Il cassait le html demon autrepage.C'est donc ce quej'aifaitet j'ai résolumonproblème:
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
Nouspouvons utiliser l'extension xDebugphppour analyser un script.
activez simplement
;xdebug.profiler_enable = 1
dans votrefichierphp.ini
en supprimant;
de lapremière ligne et après ce redémarrage du serveur apacheet exécutez votre site wordpress ...maintenant unfichier créé dans le répertoiretmp de votre serveur xampp .. ouvrez cefichier avec application WincachGrind .vouspouvezmaintenant voir une carte de votre script
@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
-
Vous devriez avoir ajouté ceci dans le commentaire ci-dessousninja08.c'estmaintenant une réponseincorrecte.You should have added this in the comment below ninja08. this is now an incorrect answer.
- 0
- 2015-12-15
- alhoseany
-
@alhoseany yes..imaintenant ...maisje n'aipas assez de réputation ...et ensuiteje décide de lefaire.@alhoseany yes..i now it... but i dont have enough reputation...and then i decide to do this.
- 2
- 2015-12-15
- Mostafa
-
J'ai lu 2méthodespourinitialiser lafonction WordPressen dehors desfichiers WordPress afin quenouspuissions utiliser cesfonctions surn'importe quellepage ou site Weben dehors dublog WordPress.
Laquelle de ces 2méthodesest labonne?Quels sont les cas d'utilisation de chaqueméthode si les deux sont correctes?Quelleest la déférenceentre l'utilisation d'uneméthode ou d'une autre?
Méthode 1:
Méthode 2: