web-dev-qa-db-fra.com

Comment tester wp_cron?

C'est une sorte de question stupide ...

J'ai programmé une action à exécuter toutes les heures:

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!'; 
}

Comment puis-je tester si cela fonctionne sans attendre une heure? :)

J'ai essayé d'ajouter wp_clear_scheduled_hook('my_hourly_events'); avant ce code et d'ajouter wp_cron() après, mais je ne vois pas ma fonction s'exécuter ...

modifier:

ok, j'ai ajouté un trigger_error() dans ma fonction, j'ai extrait le journal des erreurs Apache, et c'est là :)

Alors maintenant, je suis encore plus confus:

  • Comment le wp-cron peut-il fonctionner en arrière-plan? car apparemment c'est ce qui se passe si je ne vois aucune sortie ...

  • cela ne semble pas fonctionner dans un contexte d'objet; Pourquoi?

27
onetrickpony

Mon plugin préféré pour cela est Core Control qui a un très joli module pour afficher ce qui se passe dans le cron - quels événements sont configurés, quand seront-ils déclenchés, etc.

Au niveau des mains sales, voir _get_cron_array(), qui renvoie les données internes stockées pour les événements cron (le niveau supérieur des touches correspond aux horodatages).

19
Rarst