WordPress: programmare un evento con la funzione wp_schedule_event

WordPress: programmare un evento con la funzione wp_schedule_event

La funzione di WordPress wp_schedule_event() ci permette di eseguire delle routine programmate secondo una data scadenza. In questo articolo vedremo come creare un plugin minimale per sfruttare questa funzionalità di WordPress.

Ecco il nostro plugin:


<?php

// Registra il codice di attivazione

register_activation_hook(__FILE__, 'my_schedule_activation');

// Aggiunge un'azione custom e le associa una funzione

add_action('my_scheduled_event', 'schedule_event');

// Definisce la funzione associata con la nostra azione di attivazione

function my_schedule_activation() {
	wp_schedule_event(time(), 'hourly', 'schedule_event');
}

// Definisce la funzione che verrà eseguita ogni ora

function schedule_event() {
	// ...
}

// Elimina l'evento quando si disabilita il plugin

register_deactivation_hook(__FILE__, 'my_schedule_deactivation');

function my_schedule_deactivation() {
	wp_clear_scheduled_hook('schedule_event');
}


?>

La funzione wp_schedule_event() accetta i seguenti valori di frequenza:

  1. hourly (ogni ora)
  2. twicedaily (due volte al giorno)
  3. daily (una volta al giorno)

Il suo funzionamento è simile (ma non identico) a quello di un cron job usato sui server Linux. Infatti essa sfrutta la logica e le routine contenute nel file core wp-cron.php di WordPress, ma in modo diverso.

Ulteriori letture

Torna su