如何设置预定事件的参数数组?

时间:2011-03-19 作者:CommentLuv

我的插件中有一个每天运行两次的计划事件,该操作注册于

add_action(\'fhprw_action\',\'fhprw_check_fetch\'); 

function fhprw_check_fetch($args){
  $type=$args[\'type\'];

//do stuff according to $type
}
如果我手动调用do_action(\'fhprw_action\',array(\'type\'=>\'uk\')); 当一个小部件被更新时,函数将以数组的形式接收$args,我可以从$args[\'type\']获取$type没有问题

但当我与

wp_schedule_event(time() , \'twicedaily\', \'fhprw_action\',array(\'type\'=>$instance[\'type\'])); // ($instance[\'type\'] will be \'uk\')
然后函数将$args作为字符串接收

$args=\'uk\'而不是数组(\'type\'=>\'uk\');

为什么函数在被cron调用时没有收到$args的数组?

[编辑]

计划事件使用参数列表而不是参数数组调用回调函数,因此我的操作回调函数将接收$arg1、$arg2等,并且无法接受关联数组

1 个回复
SO网友:Bainternet

它可能是数组的语法,因此请尝试将数组设置在wp_schedule_event 电话:

$args = array(\'type\'=>$instance[\'type\']);
wp_schedule_event(time() , \'twicedaily\', \'fhprw_action\',$args);

结束

相关推荐

如何记录插件(Cron)操作?

是否有推荐的方法从插件中记录(失败的)cron操作?例如,我有一个插件,它每小时与外部服务同步一次。我想记录更改了多少,以及同步失败的时间。你有什么建议吗?新的数据库表?这个Log Deprecated Notices 插件使用自定义的帖子类型来实现这一点,但这可能会带来太多的开销?我相信WordPress does not come with a standard logging package?