Leí sobre 2 métodos para inicializar la función de WordPress fuera de los archivos de WordPress para que podamos usar estas funciones en cualquier página o sitio web fuera del blog de WordPress.
¿Cuál de estos 2 métodos es el correcto? ¿Cuáles son los casos de uso para cada método si ambos son correctos? ¿Cuál es la deferencia entre usar un método u otro?
Método 1:
<?php
define('WP_USE_THEMES', false);
require('./wp-blog-header.php');
?>
Método 2:
<?php
define('WP_USE_THEMES', false);
require('./wp-load.php');
?>
php
wp-load.php
wp-blog-header.php
alhoseany
fuente
fuente
Respuestas:
Hay poca diferencia entre los archivos. Cuando ve una página de WordPress, el primer archivo llamado es
index.php
. Y es, esencialmente, su "Método 1:"El archivo de encabezado del blog (que pone en cola el resto de WordPress) se carga
wp-load.php
directamente y enciende WordPress. Aquí está la mayoría dewp-blog-header.php
:Entonces, la diferencia entre sus dos métodos es ... lo que está cargado.
El método 1 es exactamente lo que WordPress hace para cargarse (con la excepción de desactivar los temas). Entonces, si necesita todo WordPress y desea disparar todos los ganchos / acciones predeterminados, siga esa ruta.
El método 2 es solo un paso más en la línea. Carga todo WordPress, pero no llama
wp()
ni invoca el cargador de plantillas (utilizado por los temas). El método 2 será un poco más liviano, pero debería brindarle la misma funcionalidad.fuente
Método 2 de tu pregunta:
wp-load.php
es el acceso a todas las funciones de WordPress, eso es todo. La primera línea le dice a WordPress que no cargue los archivos de tema; tal vez los archivos son necesarios para sus requisitos, luego elimine la línea.fuente
wp-blog-header.php adjuntará un estado de encabezado, devolverá un código de estado http de 404
wp-load.php no lo hará
Útil para tener en cuenta al usar ajax, ya que verifica el código de estado http
fuente
A veces, cargar las funciones.php del tema puede causar algunos problemas. Estaba rompiendo el html de mi otra página. Entonces eso fue lo que hice y resolvió mi problema:
fuente
@ ninja08
Podemos usar la extensión php de xDebug para analizar un script.
solo habilítelo
;xdebug.profiler_enable = 1
en suphp.ini
archivo al eliminarlo;
desde el principio de la línea y después de esto reinicie el servidor apache y ejecute su sitio de wordpress ... ahora un archivo creado en el directorio tmp de su servidor xampp ... abra este archivo con la aplicación WincachGrind .ahora puedes ver un mapa de tu script
fuente