Qual è il modo corretto di utilizzare le funzioni di WordPress al di fuori dei file di WordPress?
-
-
Qualifunzioni WP stai cercando di utilizzare "al difuori di WP"e perché?Uno di questimetodi caricherà ancora l'ambiente WP (anche se senza supportoperi temi),quindi stai * ancora *invocandofunzioni all'interno di 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
-
Sto cercando di capire la differenzatrai 2metodi.Quello chefarò èintegrareiltema wordpress conilmio script di supporto.quindi sarànecessario l'intestazione,ilpiè dipaginae il ciclo di wordpress oltre al supportoper widgete altripluginI 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
-
Dubito davvero che questo siailmodoin cui vuoifare le cose ... ci sono soluzionimigliori rispetto altentativo dieseguireilbootstrap di WordPress stesso.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
-
Sono aperto a suggerimenti,sto cercandoilmodomiglioreperfare le cose?qual èilmodomiglioreperintegrareiltema wordpress con un'applicazione webesterna?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 risposta
- voti
-
- 2012-03-27
C'època differenzatrai file. Quando visualizzi unapagina WordPress,ilprimofile chiamato è
index.php
. Ed è,essenzialmente,iltuo "Metodo 1:"define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */ require ('./wp-blog-header.php');
Ilfile diintestazione delblog (chemette in codail resto di WordPress) carica direttamente
wp-load.php
e avvia WordPress stesso. Ecco lamaggiorparte diwp-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' ); }
Quindi la differenzatrai tuoi duemetodi è ... cosa è stato caricato.
Ilmetodo 1 èesattamente ciò che WordPressfaper caricarsi (adeccezione della disattivazione deitemi). Quindi,se haibisogno di tutto WordPresse desideri attivaretuttigli hook/azionipredefiniti,segui quella rotta.
Ilmetodo 2 è solo un ulteriorepasso avantinella linea. Caricatutto WordPress,manon chiama
wp()
né richiamail caricatore dimodelli (utilizzato daitemi). Ilmetodo 2 sarà leggermentepiù leggero,ma dovrebbe darti la stessafunzionalità.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.-
C'è un diagramma o qualcosa chemappatutti questifile?Ne ho visto unomoltotempofamanon riesco atrovarlo.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
Metodo 2 dallatua domanda:
<?php define( 'WP_USE_THEMES', false ); // Don't load theme support functionality require( './wp-load.php' );
wp-load.php
è l'accesso atutte lefunzioni di WordPress,tutto qui.Laprima riga dice a WordPress di caricarenoni file deltema;forsei file sononecessariper letueesigenze,quindi rimuovi la riga.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.-
cosa significa anche quellaprima riga?what does that first line even means ?
- 1
- 2012-03-27
- Sagive SEO
-
Laprima riga dice a WordPress dinon caricaretutte lefunzionalità di supporto deitemi.Fondamentalmente,caricamenofile.The first line tells WordPress not to load all of its theme support functionality. Basically, load fewer files.
- 8
- 2012-03-27
- EAMann
-
Laprima riga ènecessaria soloperilprimometodo?Is the first line needed only for the first method?
- 0
- 2014-10-05
- mcont
-
- 2016-04-11
wp-blog-header.php allegherà uno stato diintestazione,restituirà un codice di stato http di 404
wp-load.phpnon lofarà
Utile danotare quando si utilizza ajaxpoiché controllail codice di stato 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
A volte caricareilfunctions.php deltemapuò causare deiproblemi.Stava rompendo l'html dellamia altrapagina.Questo è quello che hofattoe ho risoltoilmioproblema:
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
Possiamo usare l'estensionephp xDebugper analizzare uno script.
abilita solo
;xdebug.profiler_enable = 1
neltuofilephp.ini
rimuovendo;
dallaprima riga e dopo questo riavviail server apacheedeseguiiltuo sito wordpress ... ora unfile creatonella directorytmp deltuo server xampp .. apri questofile con WincachGrind .orapuoi vedere unamappa deltuo 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
-
Avresti dovuto aggiungere questonel commento sottoninja08.questa è ora una rispostaerrata.You should have added this in the comment below ninja08. this is now an incorrect answer.
- 0
- 2015-12-15
- alhoseany
-
@alhoseany si..io adesso ...manon ho abbastanza reputazione ...e poi decido difarlo.@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
Non ènecessario chiamare l'interotemaper utilizzare lefunzioni,basta utilizzare laposizione di wp-load.phpnella directory di wordpress.
<?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'); ?>
Ho letto circa 2metodiperinizializzare lafunzione di WordPress al difuori deifile di WordPressin modo dapoter utilizzare questefunzioni su qualsiasipagina o sito Web al difuori delblog di WordPress.
Quale di questi 2metodi è quello corretto?Quali sonoi casi d'usoper ognimetodo seentrambi sono corretti?Qual è la deferenzatra l'utilizzo di unmetodo o dell'altro?
Metodo 1:
Metodo 2: