Run function at specific time

时间:2013-12-13 作者:urok93

我有一个WordPress函数,我想每天在特定时间运行一次。既然WP cron不能设置为特定的时间,我应该怎么做呢?

3 个回复
最合适的回答,由SO网友:Will 整理而成

您完全可以使用wp\\u cron指定时间:

add_action( \'my_scheduled_event\', \'prefix_my_scheduled_event\' );
/**
 * On the scheduled action hook, run a function.
 */
function prefix_my_scheduled_event() {
    // do something 
}
//going to use the strtotime function, so a good habit to get into is to set the PHP timezone to UTC
default_timezone_set( \'UTC\' );
//define a timestamp to run this the first time.  4:20 is as good a time as any.
$timestamp = strtotime( \'2013-12-14 16:20:00\' ); 
//set a recurrence interval - WP has three default intervals: hourly, daily & twicedaily
$recurrence = \'daily\';
//define the hook to run
$hook = \'my_scheduled_event\'
//you can pass arguments to the hooked function if need be.  this parameter is optional:
$args = null;
//the following will run your function starting at the time defined by timestamp and recurring every $recurrence
wp_schedule_event( $timestamp, $recurrence, $hook, $args );
这是一个过于简化的示例。需要进行某种类型的检查,这样您就不会得到一船排好的钩子,但它应该会让您知道如何在特定时间进行设置。此外,需要了解的是,wp\\u cron是由页面加载触发的,因此如果您的站点没有大量的流量,那么该功能将无法准确地在定义的时间启动。不过,有一些解决办法。

SO网友:John Behan

只是为了给@Will添加Web技工的答案。我需要使用

date_default_timezone_set()
default\\u timezone\\u set对我无效

SO网友:Ravi Barnwal
结束

相关推荐

使用wp_cron安排每天更新一次帖子

我有一个挂钩到save\\u post的函数,它根据今天的日期更改自定义分类术语的值。这很好用。当我更新帖子时,分类术语会正确更新。但我希望每天自动更新一次,而不必自己手动更新帖子。我阅读了wp\\u cron并创建了下面的代码,这基本上是一种尝试,每天查询一组特定的帖子,然后通过wp\\u update\\u post()简单地运行它们,这将触发上面提到的更改分类法术语值的函数。但它似乎不起作用。此外,我真的不知道如何测试wp\\u cron,而不只是等待一天,看看会发生什么。我安装了一个控制台,这样我