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

基于数组列表配置WP-Cron定时调用enable_update()函数求助

WP-Cron 定时任务实现方案

首先修正时间数组的语法错误,PHP 数组内的时间需以字符串形式定义:

$times = array('10:00', '15:00', '21:00');

以下是完整的实现步骤:

1. 注册触发钩子

先为你的 enable_update() 函数绑定一个 WP-Cron 钩子:

add_action('enable_update_trigger', 'enable_update');

2. 批量创建每日定时事件

遍历时间数组,为每个时间点创建每日重复执行的定时任务:

function setup_daily_update_schedules() {
    global $times;
    foreach ($times as $time) {
        // 拆分时分
        list($hour, $minute) = explode(':', $time);
        // 转换为今日该时间的时间戳
        $event_time = strtotime("$hour:$minute");
        // 避免重复注册任务
        if (!wp_next_scheduled('enable_update_trigger', array($time))) {
            wp_schedule_event($event_time, 'daily', 'enable_update_trigger', array($time));
        }
    }
}
// 在网站初始化时执行注册逻辑
add_action('init', 'setup_daily_update_schedules');

3. 关键注意事项

  • 代码可放在主题的 functions.php 文件或自定义插件的主文件中
  • WP-Cron 依赖网站访问触发,若网站访问量极低,建议配置服务器级 Cron 定时请求 wp-cron.php 文件,确保任务准时执行
  • 如需取消已注册的任务,可使用以下代码:
    function clear_update_schedules() {
        global $times;
        foreach ($times as $time) {
            list($hour, $minute) = explode(':', $time);
            $event_time = strtotime("$hour:$minute");
            wp_unschedule_event($event_time, 'enable_update_trigger', array($time));
        }
    }
    // 执行此函数即可清除任务,可临时添加后访问网站一次再删除
    // add_action('init', 'clear_update_schedules');
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 13:32:38