A veces nos interesa usar funciones de WordPress externamente para un cronjob, para alimentar otro sitio web, para un feed, para interactuar con alguna API o alguna idea loca similar.

¿Qué necesitamos de WordPress para esto? Pues bien, acceso a las funciones de wordpress y a nuestra base de datos, si no cargamos las plantillas mejor, más rendimiento -y además evitaremos que Analytics nos mida cosas extrañas…-. Para tener esto vamos a crear un archivo y cargar WordPress sin plantillas.
Cargando WordPress sin plantillas
Esto es extremadamente sencillo, veamos el código:
/*
* Si vamos a ejecutar tareas cron Apache no nos pasará las variables de servidor, las tenemos que forzar, * es sencillo.
*/
$_SERVER['HTTP_HOST'] = 'www.tuservidor.com';
$_SERVER['REQUEST_URI'] = '/';
/**
* Le decimos a WordPress que no vamos a utilizar el sistema de plantillas definiendo WP_USE_THEMES como falso.
*
* @var bool
*/
define('WP_USE_THEMES', false);
/** Ahora cargamos el entorno WordPress con las funciones pero sin plantilla */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
Como puedes ver, nos limitamos a cargar el archivo “wp-blog-header.php” que es el que hace el trabajo duro, previamente hemos definido que WP_USE_THEMES sea false, con esto evitamos que cargue el sistema de plantillas.
Si quieres evitar que la página devuelva un 404, sobre todo esto es importante si queremos indexar la página o va a estar a la vista de algún usuario, debes cargar los header correctos para suplir que WordPress devuelve un 404 cuando no sabe qué tipo de página es (post, página, etc…). Para ello añade esto a tu código:
header("HTTP/1.1 200 OK");
header("Status: 200 All rosy");
Una vez tenemos esto claro podemos empezar a trabajar con todas las funciones de WordPress fuera del entorno WordPress. Si te ha sido útil este artículo no dudes en compartirlo, si tienes alguna duda déjanos un comentario 😉
