我正在使用以下功能每小时激活/停用并在Wordpress中运行cronjob。
我已经检查了Wordpress代码并访问了教程网站,但没有看到在特定时间运行wp-cron的示例,例如每天23:59 am。这可能吗?
register_activation_hook(__FILE__, 'cron_activation');
add_action('twitter_cron', 'cron_function');
register_deactivation_hook(__FILE__, 'cron_deactivation');
function cron_activation() {
wp_schedule_event(time(), 'hourly', 'twitter_cron');
}
function my_deactivation() {
wp_clear_scheduled_hook('twitter_cron');
}
function do_this_hourly() {
// my twitter function
if (!wp_next_scheduled('twitter_cron')) {
wp_schedule_event( time(), 'hourly', 'twitter_cron' );
}
答案 0 :(得分:1)
我找到了解决方案:
wp_schedule_event('1339631940', 'daily', 'my_wp_cron' );
其中'1339631940'是星期三的2012时间戳,2012年6月13日23:59:00 +0000。
答案 1 :(得分:0)
在wp_schedule_event中($ timestamp,$ recurrence,$ hook,$ args);第一个参数是当前时间。 WP找到DB中的最后一个事件(WP_OPTIONS行CRON),查看间隔,如果$ timestamp在之后,执行cron。
要在特定时间运行cron:将$ recurrence设置得更少(每天18小时)并在特定时间之前通过测试停止cron
$hcron = 3; // 03:00 AM
$t = time();
$on = mktime($hcron,0,0,date("m",$t+(6-$hcron)*3600),date("d",$t+(6-$hcron)*3600),date("Y",$t+(6-$hcron)*3600));
if ($t>=$on) { add_action('cron'...)}