it-swarm.com.de

So übergeben Sie Argumente an add_action ()

Ich habe eine Aktion für ein einzelnes Ereignis in Wordpress deklariert, das ein Array als Argument akzeptiert:

$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));

Ich habe es auch versucht, aber es führt die Aktion auch nicht aus:

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

Dann plane ich es:

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

Dann ist hier die Funktion, die aufgerufen wird, sobald wp cron die Aktion ausführt:

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

Irgendwelche Ideen?

3
soul

Der Parameter muss an die Rückruffunktion in der Funktion wp_schedule_single_event übergeben werden, nicht an die Funktion add_action .

Versuche dies:

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

Planen Sie dann das Ereignis, indem Sie den Parameter in ein Array einfügen:

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

Ihre purge_products_cache Funktion wird mit dem Parameter $asins_r aufgerufen.

1
Ben Miller