web-dev-qa-db-fra.com

Comment passer des arguments à add_action ()

J'ai déclaré une action pour un seul événement dans Wordpress qui accepte un tableau comme argument:

$asins = array(); //I had to declare this since I'm getting a notice of undefined variable if I don't

add_action('z_purge_products_cache', array($this, 'purge_products_cache', $asins));

J'ai aussi essayé celui-ci, mais il n'effectue pas l'action non plus:

add_action('z_purge_products_cache', array($this, 'purge_products_cache'));

Puis je le programme:

wp_schedule_single_event(time() + 20, 'z_purge_products_cache', $asins_r);

Ensuite, voici la fonction qui sera appelée une fois que wp cron aura exécuté l'action:

public function purge_products_cache($asins){
  //send email here
}

Des idées?

3
soul

Le paramètre doit être passé à la fonction de rappel dans la fonction wp_schedule_single_event , et non pas la fonction add_action .

Essaye ça:

add_action('z_purge_products_cache', array($this, 'purge_products_cache'));

Planifiez ensuite l'événement en plaçant le paramètre dans un tableau:

wp_schedule_single_event(time() + 20, 'z_purge_products_cache', array($asins_r));

Votre fonction purge_products_cache sera appelée avec le paramètre $asins_r.

1
Ben Miller