LoginSignup
1
1

More than 1 year has passed since last update.

WPで定期実行させる|wp-cronの使い方

Last updated at Posted at 2021-12-09

wpで定期実行したい時、「wp-cron」を使うことで実現します。

例えば、毎日午前6時にデータ集計したり、30日経過後の論理削除データをけしたりしたい時ってありますよね。

それでは、これからwpで定期実行するやり方を解説していきます。

1.設定

まずfunctions.phpに以下を追記します。

functions.php

function auto_func()
{
    //定期実行させる処理が書いたphpファイル
    $return_url = dirname(__FILE__) . '定期実行させたいphpファイル'; 
    require $return_url;
}

add_action('auto_func_cron', 'auto_func');
if (!wp_next_scheduled('rss_check_cron')) {// 何度も同じcronが登録されないようにするため
    //スケジュールを組み立て
    $difference = (current_time('timestamp') - time()) / 3600;
    $my_time = wp_date('Y-m-d 09:00:00', current_time('timestamp'));
    $task_time = strtotime(-1 * $difference . " hour", strtotime($my_time));
    //スケジュール登録する(毎日)
    wp_schedule_event($task_time, 'daily', 'auto_func_cron');
}

2.確認

プラグイン「WP Crontrol」をインストールする.
「WP Crontrol」を使えば、視覚的にいつ実行されるのか(されたのか)わかる。

3.おことわり

「WP-Cron」はOSのcronとは違います。

webサイトにアクセスがあったときに実行される「擬似」的なcronです。

なので逆にアクセス数の少ないwebサイトですと、cron実行に若干のタイムラグがあります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1