WordPress,如何在每个12月12日运行一个函数?

时间:2016-08-09 作者:Kdms

我是一名新的WordPress开发人员,我想为函数建立一个自定义间隔。

我已经看到了如何每一分钟或五分钟执行一个脚本,但我不知道如何计算间隔。

2 个回复
SO网友:Krzysztof Grabania

很遗憾,您不能在每12月12日运行脚本。WP Cron只能定义为从第一次执行脚本开始的时间间隔,所以您必须在12月12日以一年的时间间隔执行脚本,才能完全执行您想要的操作。

如果今天是12月12日,我建议您以每日间隔创建WP Cron作业并签入脚本。

if (!wp_next_scheduled(\'my_task_hook\')) {
    wp_schedule_event(time(), \'daily\', \'my_task_hook\');
}

add_action(\'my_task_hook\', \'my_task_function\');

function my_task_function() {
    $today = strtotime(date());
    if (date(\'d\', $today) == \'12\' && date(\'m\', $today) == \'12\') {
        // today is 12 December!
    }
}

SO网友:xrissz

为了改进@Krzysztof Grabania的答案,您可以修改WP,使其像Unix cron作业一样工作。为此,您必须将此行放入您的wp配置中。php文件:

//Disable internal Wp-Cron function define(\'DISABLE_WP_CRON\', true);

这将关闭while WP Cron。所以你的网站会更快,因为它不会检查每个页面加载的实际任务。

之后,您必须设置一个unix cron作业来调用该URL:

http://www.server.com/wp-cron.php?doing_wp_cron

您应该明智地选择正确的时间间隔,因为这将是所有调度中最小的时间间隔。(我通常使用1-5分钟cron)