Pregunta:
Tengo un script que me gustaría llamar a través de AJAX desde mi tema de WordPress, se basa en algunas funciones básicas de WordPress, por lo que incluyo el encabezado del blog de WordPress así:
define( 'WP_USE_THEMES', false );
require( '../../../../wp-blog-header.php' );
En algún momento durante el procesamiento de wp-blog-header.php
WordPress establece un encabezado 404 que hace que mi solicitud AJAX falle, aunque el script al que estoy llamando existe y está devolviendo contenido.
Desde entonces he agregado status_header( 200 );
después de ese fragmento que cambia el encabezado de estado a 200 y resuelve el problema, sin embargo, se siente muy parecido a un truco, así que me preguntaba si hay una solución recomendada para este problema.
Respuesta:
Debería incluir wp-load.php
, no wp-blog-header.php
(que está reservado para uso exclusivo de WordPress). Es muy probable que esta sea la causa de su problema.