多亏了Rarst,现在这一切才变得更有意义。因此,我更新了这篇文章,详细阐述了拉斯特提到的差异,并对拉斯特的观点进行了升级,以阐明这一点;)
大体上wp_schedule_single_event 通过变量args将参数传递给函数,如图所示in the codex. 此变量“args”必须是一个数组,因为数组中的每个值都将映射到回调函数中的一个参数。
示例:
add_action(\'example_action\', \'example\', 1, 3);
$args = array ( 2, 1, 3 );
wp_schedule_single_event(time(), \'example_action\', $args);
function example($a, $b, $c)
{
}
2将转到$a,1将转到$b,3将转到$c。但是,由于这一行,只能传递三个变量,
add_action(\'example_action\', \'example\', 1, 3);
查看
codex for add_action 您可以看到,第四个参数3控制传递给回调函数的参数数量。默认值为1。
因此,此示例也适用:
add_action(\'example_action\', \'example\');
$args = array ( array( 2, 1, 3 ) );
wp_schedule_single_event(time(), \'example_action\', $args);
function example($a)
{
}
所以这里数组(2,1,3)只分配给$a。
所以沙丁鱼的问题可以通过更换一条线路来解决,
$args = array(\'email\' => $email, \'title\' => $post->post_title);
变成了这个,
$args = array(array(\'email\' => $email, \'title\' => $post->post_title));