Qual é a maneira correta de usar as funções do WordPress fora dos arquivos WordPress?
-
-
Quaisfunções wp vocêestátentando usar "fora do wp"e por quê?Qualquer um dessesmétodos ainda carregará o ambiente WP (embora sem suporte detema),então você aindaestáinvocandofunções dentro do 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
-
Estoutentandoentender a diferençaentre os 2métodos.O queeufarei éintegrar otema WordPress commeu script de suporte.então vaiprecisar do cabeçalho,rodapée loop do WordPress,além de algum suportepara widgetse outrospluginsI 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
-
Eu realmente duvido queesta é amaneira que você querfazer coisas ... Hámelhores soluções do quetentarbootstrap wordpressem si.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
-
Estoubem abertopara sugestões,estouprocurando amelhormaneira defazer as coisas?Qual é amelhormaneira deintegrar otema do WordPress com a aplicação da Webexterior?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 respostas
- votos
-
- 2012-03-27
Hápouca diferençaentre os arquivos. Quando você visualiza umapágina do WordPress,oprimeiro arquivo chamado é
index.php
. E éessencialmente,seu "método 1:"define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */ require ('./wp-blog-header.php');
O arquivo de cabeçalho doblog (queenfrenta o resto do WordPress) Carrega
wp-load.php
diretamentee dispara o WordPresspróprio. Aquiestá amaioriawp-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' ); }
Então a diferençaentre seus doismétodos é ... O que é carregado.
Método 1 éexatamente o que o WordPressfazpara carregar (comexceção de desligá-los). Então,se vocêprecisar Tudo do WordPresse deseja disparartodos osganchos/açõespadrão,vá comessa rota.
Método 2 é apenasmais umpasso abaixo da linha. Ele carregatodo o WordPress,masnão chama
wp()
ouinvoca o carregador demodelo (usadoportemas). Ométodo 2 será umpoucomais leve,mas deve dar-lhe amesmafuncionalidade.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.-
Existe um diagrama ou algo quemapeiatodosesses arquivos?Eu vi um hámuitotempo,masnão consigoencontrar.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étodo 2 da suapergunta:
<?php define( 'WP_USE_THEMES', false ); // Don't load theme support functionality require( './wp-load.php' );
wp-load.php
é o acesso atodas asfunções do WordPress,étudo.Aprimeira linha diz ao WordPresspara carregarnão os arquivostemáticos;Talvez os arquivos sejamnecessáriospara seus requisitose remova a linha.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.-
O queessaprimeira linha significa?what does that first line even means ?
- 1
- 2012-03-27
- Sagive SEO
-
Aprimeira linha diz a WordPressparanão carregartoda a suafuncionalidade de suporte dotema.Basicamente,carreguemenos arquivos.The first line tells WordPress not to load all of its theme support functionality. Basically, load fewer files.
- 8
- 2012-03-27
- EAMann
-
Aprimeira linha énecessária apenaspara oprimeirométodo?Is the first line needed only for the first method?
- 0
- 2014-10-05
- mcont
-
- 2016-04-11
WP-blog-header.php anexará um status de cabeçalho,ele retornará um código de status HTTP de 404
wp-load.phpnão vai
Útilpara anotar ao usar o AJAX àmedida que verifica o código de status 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
às vezes carregando asfunções.PHP dotemapode causar algumproblema.Estava quebrando o HTML daminha outrapágina.Então éisso queeufize resolvimeuproblema:
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
Podemos usar aextensão do XDebug PHPpara analisar um script.
Apenas ative
;xdebug.profiler_enable = 1
no seu arquivophp.ini
removendo;
daprimeira linha E depois deste servidor de Reiniciar Apachee execute o site do WordPress ... Agora,um arquivo criadono diretório TMP do seu servidor Xamptp ..Obraeste arquivo com Wincachgrind Aplicação.Agora vocêpode ver ummapa do seu 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
-
Você deveriater adicionadoissono comentário abaixo doninja08.Esta é agora uma respostaincorreta.You should have added this in the comment below ninja08. this is now an incorrect answer.
- 0
- 2015-12-15
- alhoseany
-
@Alhoseany sim..eu agora ...maseunãotenho reputação suficiente ...e entãoeu decidofazerisso.@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
Vocênãoprecisa ligarparatodo otemapara usarfunções,basta usar o localpara wp-load.phpno diretório 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'); ?>
Eu li cerca de 2métodosparainicializar afunção do WordPressfora dos arquivos do WordPresspara quepossamos usaressasfunçõesem qualquerpágina ou sitefora doblog do WordPress.
Qual destes 2métodos é o correto?Quais são os casos de usopara cadamétodo se ambosestão corretos?Qual é a deferênciaentre usar ummétodo ou outro?
Método 1:
Método 2: