Quando pianifico un evento nella parte superiore del file del plugin principale (plugin.php), cron viene aggiunto all'opzione wp_options cron
.wp_schedule_event() non funziona all'interno della funzione di attivazione della classe
wp_schedule_event(time() + 10, 'hourly', 'this_is_my_action');
Questo funziona bene, si aggiunge il nuovo cron. Ma, quando provo ad utilizzare la stessa funzione nella mia funzione di attivazione all'interno della classe plugin, non funziona.
All'interno plugin.php ho:
$plugin = new My_Plugin(__FILE__);
$plugin->initialize();
All'interno My_Plugin classe che ho:
class My_Plugin{
function __construct($plugin_file){
$this->plugin_file = $plugin_file;
}
function initialize(){
register_activation_hook($this->plugin_file, array($this, 'register_activation_hook'));
}
function register_activation_hook()
{
$this->log('Scheduling action.');
wp_schedule_event(time() + 10, 'hourly', 'this_is_my_action');
}
function log($message){
/*...*/
}
}
Il registro viene scritto quando attivo il plugin, ma il cron non viene aggiunto al database di wordpress. Tutte le idee perché?
Queste funzioni sono esattamente la stessa cosa? –
sì, aggiunge il cron nel mio file plugin principale, anche se l'azione non esiste. ma non funziona all'interno della funzione di attivazione – user2103849