wp_schedule_event nu funcționează?
Nu reușesc să declanșez un cron în WordPress. Încerc să rulez acest cod pentru a primi un email în fiecare oră.
Codul este preluat direct din exemplele WordPress de aici: http://codex.wordpress.org/Function_Reference/wp_schedule_event. Cu excepția faptului că am eliminat underscore-urile (vezi observația din documentație).
Codul rulează în fișierul functions.php al temei mele. Cron-ul pare să fie înregistrat, dar funcția prefixdothishourly
nu se execută (din câte pot observa).
add_action( 'wp', 'prefixsetupschedule' );
/**
* Pe un hook de acțiune timpuriu, verifică dacă evenimentul este programat - dacă nu, îl programează.
*/
function prefixsetupschedule() {
if ( ! wp_next_scheduled( 'prefixhourlyevent' ) ) {
wp_schedule_event(time(), 'hourly', 'prefixhourlyevent');
}
}
add_action( 'prefixhourlyevent', 'prefixdothishourly' );
/**
* Pe hook-ul de acțiune programat, rulează o funcție.
*/
function prefixdothishourly() {
return wp_mail("me@example.com", "Notification TEST", "TEST", null);
}

Parametrul ALTERNATE_WP_CRON
realizează practic o redirecționare transparentă pentru un utilizator care vizitează site-ul tău și poate rezulta în adăugarea unui parametru doing_wp_cron
în URL.
Dacă din orice motiv job-urile cron din WordPress eșuează din cauza unei încărcări prea mari sau a unui trafic prea mic pe site, poate fi o opțiune bună să treci la un job cron extern/de pe server pentru a declanșa cron-ul WordPress în locul tău.
