¿Cuál es la forma correcta de utilizar las funciones de WordPress fuera de los archivos de WordPress?
-
-
¿Quéfunciones de WPestáintentando utilizar "fuera de WP" ypor qué?Cualquiera deestosmétodostodavía cargaráelentorno de WP (aunque sin soporte detema),por lo que *todavía *invocasfunciones dentro 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
-
Estoytratando deentender la diferenciaentre los 2métodos.Lo que haréesintegrareltema de wordpress conmi script de soporte.por lo quenecesitaráelencabezado,elpie depágina yelbucle de wordpress,además de algo de soportepara widgets y otros complementosI 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
-
Realmente dudo queesta sea laformaen que quieres hacer las cosas ... haymejores soluciones queintentar arrancar WordPress.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
-
Estoy abierto a sugerencias,estoybuscando lamejormanera de hacer las cosas.¿Cuáles lamejormanera deintegrareltema de WordPress con una aplicación webexterna?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 respuestas
- votos
-
- 2012-03-27
Haypoca diferenciaentre los archivos. Cuando ve unapágina de WordPress,elprimer archivo llamadoes
index.php
. Yes,esencialmente,su "Método 1":define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */ require ('./wp-blog-header.php');
El archivo deencabezado delblog (queponeen colael resto de WordPress) carga
wp-load.php
directamente yenciende WordPress. Aquíestá lamayorparte 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' ); }
Entonces,la diferenciaentre sus dosmétodoses ... lo queestá cargado.
Elmétodo 1esexactamente lo que hace WordPresspara cargarse a símismo (con laexcepción de desactivar lostemas). Entonces,sinecesita todo WordPress y desea activartodos los hooks/accionespredeterminados,sigaesa ruta.
Elmétodo 2es solo unpasomásen la línea. Cargatodo WordPress,perono llama a
wp()
ni invocael cargador deplantillas (utilizadopor lostemas). Elmétodo 2 será unpocomás ligero,pero debería ofrecerle lamismafuncionalidad.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.-
¿Hay un diagrama o algo quemapeetodosestos archivos?Vi uno hacemuchotiempoperonopuedoencontrarlo.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 de supregunta:
<?php define( 'WP_USE_THEMES', false ); // Don't load theme support functionality require( './wp-load.php' );
wp-load.php
esel acceso atodas lasfunciones de WordPress,esoestodo.Laprimera línea le dice a WordPress queno cargue los archivos deltema;tal vez los archivos seannecesariospara sus requisitos,luegoelimine la línea.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.-
¿Qué significaesaprimera línea?what does that first line even means ?
- 1
- 2012-03-27
- Sagive SEO
-
Laprimera línea le dice a WordPress queno carguetoda sufuncionalidad de soporte detemas.Básicamente,carguemenos archivos.The first line tells WordPress not to load all of its theme support functionality. Basically, load fewer files.
- 8
- 2012-03-27
- EAMann
-
¿Senecesita laprimera línea soloparaelprimermétodo?Is the first line needed only for the first method?
- 0
- 2014-10-05
- mcont
-
- 2016-04-11
wp-blog-header.php adjuntará unestado deencabezado,devolverá un código deestado http de 404
wp-load.phpno
Es útilteneren cuenta cuando se usa ajax,ya que verificael código deestado 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 veces,cargarfunctions.php deltemapuede causarle algunosproblemas.Estaba rompiendoel html demi otrapágina.Así queesoes lo que hice y resolvími problema:
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 laextensiónphp xDebugpara analizar un script.
simplemente habilite
;xdebug.profiler_enable = 1
en su archivophp.ini
eliminando;
de laprimera línea y después deesto reinicieel servidor apache yejecute su sitio de wordpress ... ahora un archivo creadoen el directoriotmp de su servidor xampp .. abraeste archivo con Aplicación WincachGrind .ahorapuede ver unmapa de su secuencia de comandos
@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
-
Deberías haber agregadoestoen el comentario a continuaciónninja08.estaes ahora una respuestaincorrecta.You should have added this in the comment below ninja08. this is now an incorrect answer.
- 0
- 2015-12-15
- alhoseany
-
@alhoseany sí ... ahora sí ...peronotengo suficiente reputación ... y luego decido haceresto.@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
Notienes que llamar atodoeltemapara usarfunciones,solo usa la ubicación de wp-load.phpen el directorio de 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'); ?>
Leí acerca de 2métodosparainicializar lafunción de WordPressfuera de los archivos de WordPresspara quepodamos usarestasfuncionesen cualquierpágina o sitio webfuera delblog de WordPress.
¿Cuál deestos 2métodosesel correcto?¿Cuáles son los casos de uso de cadamétodo si ambos son correctos?¿Cuáles la diferenciaentre usar unmétodo u otro?
Método 1:
Método 2: