Te traemos este burdo truco para ejecutar funciones Worpress mediante un cronjob sin complicarte mucho la vida. Esto es una solución rápida y muy poco recomendable, pero está bien para ir aprendiendo o solucionar un marrón rápido sin necesidad de desarrollar un Plugin para WordPress completo.
Pongamos un ejemplo, queremos conectarnos a la API de Twitter y descargar los últimos tweets de un usuario para publicarlos en un post, queremos hacer esto una vez al día a las 11:45 am (por ejemplo). Vamos a hacerlo.
Para llevar acabo este burdo truco -que va en contra de cualquier manual de buenas prácticas- necesitamos:
Es el momento, vamos al lío, creamos una página nueva, en la que incluiremos el siguiente código:
require_once "wp-admin/includes/taxonomy.php"; tu_funcion();
Las etiquetas
son las que indican a nuestro plugin Allow PHP in Posts and Pages, dentro de ellas podemos escribir php sin problemas.
Lo primero, como vamos a crear posts, cargamos las funciones del archivo “taxonomy.php” ya que si no obtendríamos errores en algunas funciones que necesitamos.
La línea tu_funcion() ejecuta la función en la que tendremos lo que hemos decidido para el ejemplo, tomar una serie de Tweets y publicarlos en un post..
Una vez lo tengamos, guardamos la página como “http://midominio.com/mi-pagina” y ya estamos listos para seguir.
Si no cargásemos el archivo “wp-admin/includes/taxonomy.php” nos encontraríamos con un error de la función wp_create_category() como éste:
Fatal error: Call to undefined function wp_create_category() in /Users/noname/Sites/wp-content/plugins/my_plugin/my_plugin.php on line 95
Esto ocurre porque las funciones de este tipo sólo se cargan en el entorno del admin, salvo que lo forcemos haciendo el require a “wp-admin/includes/taxonomy.php“.
Ahora es el momento de definir lo que ocurre dentro de tu_funcion(), aquí ejecutaremos la llamada a la API de Twitter (en la que no vamos a ahondar de momento):
/*
* Librería para interactuar con la API de Twitter by Abraham
* https://github.com/abraham/twitteroauth
*/
require_once 'lib/OAuth.php';
require_once 'lib/twitteroauth.php';
/*
* Datos de nuestra APP de Twitter
*/
$consumerKey = 'xxxxxxxxxxxxx';
$consumerSecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxx';
$accessToken = 'xxxxxxxxxxxxxxxxxxxxxxxx';
$tokenSecret = 'xxxxxxxxxxxxxxxxxxxxxxxx';
/*
* Iniciamos el objeto para interactuar con la API de Twitter
*/
$toa = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $tokenSecret);
/*
* Obtenemos los últimos tuits de un usuario
*/
$tuits = $toa->post('statuses/user_timeline',array('screen_name'=>'FaustoRM'));
//Iniciamos la variable cuerpo con algo de texto, esto será el cuerpo del post
$cuerpo = 'Los últimos tuits de @FaustoRM';
foreach($tuits as $tuit) {
$cuerpo .= '' . $tuit->text . '
;';
}
/*
* Nos inventamos un título para el post usando la fecha de hoy
*/
$titulo = 'Lo que dice FaustoRM hoy ' . date('d-m-Y') ;
/*
* Creamos una categoría o recogemos su id si ya está creada.
*/
$category_name = 'Tuits de FaustoRM';
$id_category = wp_create_category($category_name);
/*
* Generamos el Post y lo publicamos
*/
$post = array(
'post_content' => $cuerpo, //El cuerpo
'post_title' => $titulo, //El título
'post_status' =>'publish', //Define el estado del post
'post_category' => array(0,$id_category),
);
$id = wp_insert_post($post); //Crea el post y recoge la ID
/*
* Ya que estamos tuiteamos lo que acabamos de publicar
*/
$tweet = $titulo . ' http://tudominio.com/?p='.$id; //Generamos contenido para el tweet
$toa->post('statuses/update',array('status'=>$tweet)); //Esto envía a twitter el tweet
No vamos a entrar a explicar el código, sólo decir que se generará un post con los útimos tuits del autor de esta entrada @FaustoRM.
Nos conectamos al cronjob -no vamos a entrar en este tema en este post- y hacemos la llamada a la siguiente url “http://midominio.com/mi-pagina”, por ejemplo:
30 11 * * * curl http://midominio.com/mi-pagina
Este cronjob ejecutaría nuestro script todos los días a las 11:30 am.
Si lo hemos hecho bien, ahora tendremos esto ejecutándose en el periodo marcado en el cronjob, un WordPress generando contenido sin intervención humana… ¡Maravilloso!
Abre Chrome DevTools en cualquier web hecha con Elementor y mira la pestaña Coverage. Entre…
Análisis equilibrado de Elementor en 2026: ecosistema masivo contra problemas de rendimiento, CSS inflado y…
Retool ha publicado su informe Build vs Buy 2026 y los datos son reveladores: el…
Microsoft predice que los agentes de IA empresariales acabarán con el modelo SaaS tradicional antes…
El 60% de las empresas ya construyen software fuera del control de IT. Con la…
285.000 millones de dólares en valoración SaaS evaporados. Klarna abandona Salesforce. Microsoft predice que los…