Php Wordpress';伪cron

Php Wordpress';伪cron,php,wordpress,cron,Php,Wordpress,Cron,它就是不起作用,我不知道出了什么问题。也许有人能帮我。 这是我的密码: add_action('kawabunga',function(){ echo '<h1>KAWABUNGA!!!!1</h1>'; }); if (!wp_next_scheduled('kawabunga')) { wp_schedule_single_event(time()+120, 'kawabunga'); } add_动作('kawabunga',函数(){ 回声“

它就是不起作用,我不知道出了什么问题。也许有人能帮我。 这是我的密码:

add_action('kawabunga',function(){
    echo '<h1>KAWABUNGA!!!!1</h1>';
});


if (!wp_next_scheduled('kawabunga')) {
    wp_schedule_single_event(time()+120, 'kawabunga');
}
add_动作('kawabunga',函数(){
回声“卡瓦邦加!!!!1”;
});
如果(!wp_next_scheduled('kawabunga')){
wp_计划单次事件(时间+120,'kawabunga');
}
然后,我使用以下代码查看任务发生了什么:

echo 'scheduled = ' . wp_next_scheduled('kawabunga');
echo '<br>time = ' . time();
echo'scheduled='。计划下一个工作包(“卡瓦本加”);
回显“
时间=”。时间();
它的行为和我预期的一样:首先显示两个时间戳,在2分钟内只显示第二个时间戳,因为一个动作被执行了,它不再被调度,所以它返回“false”,而不是时间戳。 但我的函数并没有实际执行,它没有打印
KAWABUNGA!!!!1
并且我的IDE没有在断点处停止

我还在网站的其他部分测试了一个动作:
do_动作('kawabunga')并且它工作得很好。它不仅仅在cron中工作


有什么想法吗?

Aurimas是对的,您需要定义一个可以在以后的请求中调用的函数。因此,使用匿名函数在这里不起作用

我相信cron处理是在页面输出之后触发的,这样不会减慢用户的体验。输出一个命令不会有任何效果。您最好通过调用mail()或wp_mail()进行测试(如果mail在您的系统上无法工作,则写入文件)


通过这两个更正,您的代码看起来不错。

尝试在这些行之后调用wp\u cron()

add_action('kawabunga', function(){
    echo '<h1>KAWABUNGA!!!!1</h1>';
});

if (!wp_next_scheduled('kawabunga')) {
    wp_schedule_single_event(time()+120, 'kawabunga');
}

wp_cron();
add_动作('kawabunga',函数(){
回声“卡瓦邦加!!!!1”;
});
如果(!wp_next_scheduled('kawabunga')){
wp_计划单次事件(时间+120,'kawabunga');
}
wp_cron();
您是否尝试过使用“真实”回调函数而不是匿名函数实现?也许在这个案子里它不知怎么丢了。。