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

Spec-driven development: el contrapeso disciplinado al vibe coding

El desarrollo con IA se ha dividido en dos campos: el vibe coding rápido y…

56 años atrás

Tres skills que le enseñan a Claude Code a no diseñar feo

Emil Kowalski, Impeccable y Taste Skill: tres skills externas que le dan vocabulario visual concreto…

56 años atrás

Cómo identificar una agencia Shopify técnica de verdad (y no una agencia de marketing disfrazada)

El mercado español de agencias Shopify está lleno de agencias de marketing que tocan Shopify…

56 años atrás

Vi un sitemap_agentic_discovery.xml en una tienda Shopify y ya no puedo desverlo

Una tienda española está exponiendo tres archivos pensados para agentes de IA y un sitemap…

56 años atrás

Claude Code Routines: Anthropic acaba de darle un turno de noche a tu IDE

Anthropic lanzó Routines en Claude Code el 14 de abril de 2026. Tu agente IA…

56 años atrás

¿Sabías que tu web de WordPress carga 2 MB de CSS que no usa? Bienvenido a los page builders

Abre Chrome DevTools en cualquier web hecha con Elementor y mira la pestaña Coverage. Entre…

56 años atrás