J'ai un événement planifié qui se déroule deux fois par jour dans mon plugin, l'action est enregistrée avec
add_action('fhprw_action','fhprw_check_fetch');
function fhprw_check_fetch($args){
$type=$args['type'];
//do stuff according to $type
}
si j'appelle manuellement un do_action('fhprw_action',array('type'=>'uk'));
lorsqu'un widget est mis à jour, la fonction reçoit $ args sous forme de tableau et je peux obtenir $ type à partir de $ args ['type'] sans problème
mais quand je programme un événement avec
wp_schedule_event(time() , 'twicedaily', 'fhprw_action',array('type'=>$instance['type'])); // ($instance['type'] will be 'uk')
alors la fonction reçoit $ args sous forme de chaîne
$ args = 'uk' au lieu de array ('type' => 'uk');
pourquoi la fonction ne reçoit pas de tableau pour $ args quand elle est appelée par le cron?
[modifier]
les événements planifiés appellent la fonction de rappel avec une liste de paramètres, et non un tableau de paramètres, afin que ma fonction de rappel pour l'action reçoive $ arg1, $ arg2, etc. et ne puisse accepter un tableau associatif.
Ce pourrait être le phrasé du tableau, alors essayez de le définir en dehors de l'appel wp_schedule_event
:
$args = array('type'=>$instance['type']);
wp_schedule_event(time() , 'twicedaily', 'fhprw_action',$args);