Kiedy zaplanuję wydarzenie u góry głównego pliku wtyczki (plugin.php), cron zostanie dodany do opcji wp_options cron
.wp_schedule_event() nie działa w ramach funkcji aktywacji klasy
wp_schedule_event(time() + 10, 'hourly', 'this_is_my_action');
Działa to dobrze, dodaje nową crona. Ale kiedy próbuję użyć tej samej funkcji w mojej funkcji aktywacji w klasie wtyczki, to nie działa.
Wewnątrz plugin.php mam:
$plugin = new My_Plugin(__FILE__);
$plugin->initialize();
klasa Wewnątrz My_Plugin mam:
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){
/*...*/
}
}
Dziennik zostanie zapisany do kiedy włączyć wtyczkę, ale cron nie jest dodawany do baza danych Wordpress. Jakieś pomysły, dlaczego?
Funkcje te są dokładnie takie same? –
tak, dodaje cron do mojego głównego pliku wtyczki, nawet jeśli akcja nie istnieje. ale to nie działa w funkcji aktywacji. – user2103849