it-swarm.com.de

Wie teste ich wp_cron?

Das ist eine dumme Frage ...

Ich habe eine Aktion geplant, die stündlich ausgeführt wird:

if(!wp_next_scheduled('my_hourly_events'))
  wp_schedule_event(time(), 'hourly', 'my_hourly_events');

add_action('my_hourly_events', 'the_function_to_run');

function the_function_to_run(){
   echo 'it works!'; 
}

Wie kann ich testen, ob dies funktioniert, ohne eine Stunde zu warten? :)

Ich habe versucht, wp_clear_scheduled_hook('my_hourly_events'); vor diesem Code und wp_cron() nach diesem Code hinzuzufügen, aber meine Funktion wird nicht ausgeführt ...

bearbeiten:

ok, ich habe eine trigger_error() in meine Funktion eingefügt, das Apache-Fehlerprotokoll ausgecheckt und es ist da :)

Jetzt bin ich noch verwirrter:

  • Wie kann der wp-cron im Hintergrund laufen? denn anscheinend passiert das, wenn ich keine Ausgabe sehe ...

  • dies scheint in einem Objektkontext nicht zu funktionieren. Warum?

27
onetrickpony

Mein Lieblings-Plugin dafür ist Core Control das ein sehr nettes Modul hat, um anzuzeigen, was im Cron vor sich geht - welche Events eingestellt sind, wann sie das nächste Mal ausgelöst werden usw.

Informationen zum Verschmutzen Ihrer Hände finden Sie unter _get_cron_array(), das interne gespeicherte Daten für Cron-Ereignisse zurückgibt (die oberste Ebene der Schlüssel sind Zeitstempel).

19
Rarst