programar-tasques-cron-amb-wordpress.png

Com programar tasques Cron amb WordPress

Cron és un servei molt comú als sistemes Linux i similars que generalment s’usa per a programar comandes o scripts al servidor perquè s’executin en segon pla.

En aquest post et mostrem, pas a pas, com programar tasques recurrents amb WordPress.

A WordPress tenim el nostre propi cron anomenat WP-Cron

WP-Cron simula un cron de sistema i permet que WordPress dispari les seves pròpies tasques.

Els serveis “cron” permeten programar tasques en dates, hores o intervals fixos periòdics. En general, això implica tasques de manteniment repetitives que estan automatitzades per a estalviar temps.

Però com funciona el servei de cron de WordPress?

El servei cron de WordPress

El servei cron de WordPress WP-Cron, per defecte es dispara cada vegada que un usuari visita una pàgina web.

Quan algú visita una pàgina, WP-Cron comprova si existeix alguna tasca pendent d’execució. Si troba una tasca pendent, WP-Cron l’executarà en aquest mateix instant.

Ciclo de ejecución de tareas Cron Job en WordPress
En visitar una pàgina WP Cron fa tasques incrementant el Temps de Càrrega.

Per a millorar el rendiment de la teva pàgina web WordPress, una bona opció és desactivar el sistema intern WP-Cron i delegar aquesta tasca a un servei cron extern.

T’expliquem com deshabilitar el cron intern de WordPress en aquesta publicació. Si vols treballar amb un servidor especialitzat WordPress amb wp-cron ja funcionant des de fora amb cron extern, demana la teva migració GRATUÏTA o simplement prova en els servidors de desenvolupament gratuït de wetopi.

Com executar una tasca Cron amb WordPress

Si vols afegir una tasca a WP-Cron de WordPress, necessitaràs primer crear el “hook” o ganxo encarregat de dur a terme la tasca. Després a la tasca li has d’associar un esdeveniment i aquest esdeveniment enganxar-lo a una de les recurrències que WP-Cron va cridant de manera periòdica.

Si ets un usuari avançat i no vols delegar aquesta tasca a un plugin, et recomanem scheduling WP Cron events de la guia oficial WordPress Plugin Handbook.

Per als no tan avançats, a continuació descrivim el procés ajudant-nos de WP Crontrol plugin, un dels plugin cron Gratuïts més àmpliament utilitzats. 

Plugin WP Control per a gestionar tasques cron en WordPress
WP Crontrol té més de 100,000 instal·lacions actives amb una impressionant qualificació de 4.9 sobre 5.

Amb l’extensió WP Crontrol pots veure i controlar les tasques que executa WP-Cron

Des del panell d’administració de WordPress, Wp Control et permet: veure tots els esdeveniments, afegir esdeveniments nous, editar esdeveniments existents, afegir o modificar períodes d’execució, etc …


Afegir Programacions “Schedules” amb l’ajuda de WP-Crontrol

Després d’instal·lar i activar el plugin WP Crontrol, dins de la secció del menú “Ajustos” trobaràs la nova opció “Programacions cron”:

La edición de periodos cron para WordPress está en el Menú Ajustes
Programacions cron o “Cron Schedules”

En “Programacions cron” el que pots fer és afegir nous rangs o períodes d’execució.

Formulario Cron Schedule para añadir intervalos de programación de eventos cron para WordPress
Formulari Cron Schedule per a afegir intervals d’execució.

Per exemple afegir un interval de 600 segons per a poder així disparar l’execució d’esdeveniments cada 10 minuts.

Afegir un Esdeveniment per a executar una tasca

Per a afegir un Esdeveniment, fes clic sobre l’opció de menú Esdeveniments cron “Cron Events” dins de la secció d’Eines:

Item Events Cron de WordPress amb Wp-Control

Molts dels noms d’acció dels esdeveniments són f doncs la part del nom de la tasca coincideix molts cops amb la de l’esdeveniment, com per exemple “wp_update_plugins” o “wp_update_themes”.

Com a exemple a continuació crearem una simple acció “enviar un mail” per a després afegir l’esdeveniment al Cron de WordPress.

Com es tracta d’una nova acció, has d’afegir el codi de l’acció a executar en l’arxiu functions.php:

add_action( 'send_mail', 'send_mail_func' );

function send_mail_func() {
    wp_mail( '[email protected]', 'Això és un email automatitzat', 'Hola Món' );
}

Després des del panell d’administració obres l’apartat “Esdeveniments cron” i emplenes el formulari de la pestanya “Afegir Esdeveniment Cron”

Formulari Esdeveniments WP-Cron per a afegir tasca a cron WordPress
Llistat i Formulari d’events del plugin WP-Control

On posa Nom del ganxo o “Hook Name“, has de posar el mateix nom de la funció que realitza l’acció: “send_mail”. I al camp Pròxima execució o “Next Run” el moment en què que volem començar a executar l’esdeveniment, en el nostre cas Ara i a Recurrència, el període amb el qual vols repetir l’esdeveniment. Pel nostre cas “Hello World” és la nova recurrència creada amb en el pas anterior:

Listado de eventos Cron para WordPress con plugin WP Control
El nou esdeveniment hook send_email Event llest una vegada programat.

És interessant programar la “Pròxima execució” amb valor “Ara”, això t’ajudarà a testar l’Acció per a veure si s’executa sense donar errors.

Com es veu en el llistat, WP-Control et permet modificar també les tasques ja programades, des de l’enllaç Editar del llistat d’esdeveniments.

T’aconsellem també el post relacionat, Com desactivar el cron de WordPress per a millorar la velocitat de càrrega del teu web WordPress.


En resumidas cuentas, somos unos techies apasionados por WordPress que hemos creado Wetopi, un hosting especializado en WordPress, para minimizar la fricción a la que todo profesional se enfrenta al trabajar y alojar proyectos WordPress.

¿No tienes una cuenta en wetopi?

Prueba gratis – Descubrirás una manera eficiente de trabajar con WordPress

Incluye servidores desarrollo Gratis.
Sin tarjeta de crédito.

Joan VegaCom programar tasques Cron amb WordPress
Share this post