Categorías: Programación Web

Cómo usar funciones de WordPress para un cronjob

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.

Las funciones de WordPress están muy bien pensadas y depuradas para que sea muy sencillo tratar con el contenido de este CMS, según vamos avanzando en nuestros desarrollos basados en WordPress a veces surgen necesidades de usar sus funciones sin cargar el sitio completo, la más sencilla que se me ocurre es ejecutar un cronjob que interactúe con nuestro contenido. Un ejemplo práctico podría ser un cronjob que coja un post y publicarlo en Twitter a través de la API de Twitter cada 25 minutos.

¿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 😉

fruiz

Share
Publicado por
fruiz

Recent Posts

Agentic commerce en Shopify: la última noticia que debe motivarte a migrar ya

“OpenAI lanza Instant Checkout: ahora puedes comprar desde ChatGPT, con soporte para más de un…

56 años atrás

¡Adiós SaaS! La Revolución del Software Empresarial con AI Tailorware Está Aquí

¿Sigues atrapado en los SaaS tradicionales? ¡Es hora de despertar! AI Tailorware está cambiando las…

56 años atrás

Aranceles Trump y Shopify: Impacto en tu Tienda Online

Recientemente, el expresidente Donald Trump ha dado un giro al comercio electrónico internacional con nuevas…

56 años atrás

¿Sabías que Cell Easy está hecha en WordPress? Y funciona que da gusto

A veces WordPress tiene fama de ser “para amateurs”... y oye, que sí, que hay…

56 años atrás

El SEO aspiracional, nueva tendencia en el sector del lujo

Hoy te traigo un artículo del compañero (aunque ya nunca escribe, ejem) y CEO de…

56 años atrás

La Importancia del Soporte Técnico 24/7 en Tu Tienda Online

Si quieres competir en el mundo digital de hoy en día, donde las compras no…

56 años atrás