WordPress, il noto CMS per realizzare blog e non solo, ha all’interno un sistema di cron che può essere utilizzato per eseguire operazioni pianificate. Vediamo come usarlo.
Precisiamo innanzitutto che il sistema di cron viene attivato solo se il sito viene visitato, se il sito non ha visite le operazioni pianificate non vengono quindi eseguite.
Scriviamo insieme un semplice plugin che esegue delle operazioni una volta al giorno.
Di seguito il file del nostro plugin:
/* Plugin Name: Cron test plugin Description: A cron test plugin example Version: 1.0 Author: Fabio Marcone Author URI: http://www.fabiomarcone.it Text Domain: fm-crontest */ register_activation_hook(__FILE__,'fm_cron_activation'); function fm_cron_activation() { if (!wp_next_scheduled('fm_cron_hook')){ wp_schedule_event(time(), 'daily', 'fm_cron_hook'); } } add_action('fm_cron_hook', 'fm_cron_method'); function fm_cron_method() { error_log("fm_cron_method start"); // aggiungere le istruzioni che il job deve eseguire error_log("fm_cron_method end"); } register_deactivation_hook(__FILE__, 'fm_cron_deactivation'); function fm_cron_deactivation() { wp_clear_scheduled_hook('fm_cron_hook'); }
Dove:
L’esempio non è esaustivo ma vuole mostrare una funzionalità di WordPress non a tutti nota. Spero vi possa essere di esempio per creare i vostri plugin che utilizzano il sistema di cron in WordPress.