You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress自定义定时任务:每6小时执行失效求助

问题排查与解决方案

核心问题:WordPress 默认不提供 six_hours 这个预定义的 Cron 时间间隔,直接使用未注册的间隔参数会导致调度逻辑失效(无报错,但任务无法按预期周期运行)。

修复步骤

  1. 注册自定义 Cron 间隔
    通过 cron_schedules 过滤器添加6小时间隔,这一步必须在调度事件前执行,让WordPress识别这个自定义周期。

  2. 规范任务调度逻辑
    先清理可能存在的旧无效调度,再重新执行任务调度,避免残留的错误调度影响结果。

修改后的完整代码

// 注册6小时的Cron时间间隔
add_filter('cron_schedules', function($schedules) {
    $schedules['six_hours'] = array(
        'interval' => 21600, // 换算为秒:6*60*60=21600
        'display'  => __('Every 6 Hours')
    );
    return $schedules;
});

// 调度定时任务
add_action('init', function() { 
    // 清除之前可能存在的无效调度
    wp_clear_scheduled_hook('awpl2_cron_hook2');
    // 重新调度符合周期要求的任务
    if (!wp_next_scheduled('awpl2_cron_hook2')) {
        wp_schedule_event(time(), 'six_hours', 'awpl2_cron_hook2');
    }
});

// 绑定任务执行函数
add_action('awpl2_cron_hook2', 'awpl2_cron_function2');
function awpl2_cron_function2() {
    send_request($client . "&url_domainsss=$url&email_domainsss=$email");
}

额外注意事项

  • 修改后需访问一次网站前台或后台,触发init钩子完成调度逻辑。
  • 确保send_request函数、$client、$url、$email变量均已正确定义,避免任务执行时出现其他异常。

内容的提问来源于stack exchange,提问作者alex dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 00:10:28