0

次の関数を使用して、Wordpress で 1 時間ごとに cronjob をアクティブ化/非アクティブ化して実行しています。

Wordpress のコードを確認し、チュートリアル サイトにアクセスしましたが、「毎日午前 23 時 59 分」などの特定の時間に wp-cron を実行する例は見当たりません。これは可能ですか?

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' );
}
4

2 に答える 2

1

私は解決策を見つけました:

wp_schedule_event('1339631940', 'daily', 'my_wp_cron' );  

「1339631940」は、2012 年 6 月 13 日水曜日 23:59:00 +0000 の Linux タイムスタンプです。

于 2012-06-13T14:03:17.883 に答える
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'...)}
于 2014-04-06T09:36:03.317 に答える