如何将参数传递给Add_action()

时间:2013-08-14 作者:soul

我在Wordpress中为接受数组作为参数的单个事件声明了一个操作:

$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));
我也尝试了这个,但它也不执行操作:

add_action(\'z_purge_products_cache\', array($this, \'purge_products_cache\'));
然后我安排:

wp_schedule_single_event(time() + 20, \'z_purge_products_cache\', $asins_r);
然后,wp cron执行操作后将调用以下函数:

public function purge_products_cache($asins){
  //send email here
}
有什么想法吗?

2 个回复
最合适的回答,由SO网友:Ben Miller - Remember Monica 整理而成

需要将参数传递给wp_schedule_single_event 功能,而不是add_action 作用

尝试以下操作:

add_action(\'z_purge_products_cache\', array($this, \'purge_products_cache\'));
然后安排事件,将参数放入数组中:

wp_schedule_single_event(time() + 20, \'z_purge_products_cache\', array($asins_r));
您的purge_products_cache 将使用参数调用函数$asins_r.

SO网友:Prabhu Kannan

在add\\u action()中传递参数,请参见以下示例,

  function email_friends( $post_ID )  
{
   $friends = \'[email protected], [email protected]\';
   wp_mail( $friends, "sally\'s blog updated", \'I just put something on my blog: http://blog.example.com\' );

   return $post_ID;
}
add_action( \'publish_post\', \'email_friends\' );

Brief explanation about add_action() is here.

结束

相关推荐

Log Author Actions

是否有保存后期创建/删除、页面创建/删除、修改等操作的位置?这是否存储在Apache日志中?如果没有保存,有没有办法(插件?)这样做?