WordPressのcronジョブを管理する方法

公開: 2021-05-14
ワードプレスのcronジョブ
@Cloudwaysをフォローする

多くのWordPress開発者、特に初心者は、「WordPresscronとは何か」と「WordPresscronジョブを管理する方法」というよくある質問を持っています。 すぐに。

答えは簡単です。この記事で概説するWordPresscronジョブ管理方法のいずれかを使用してください。

  • WordPress Cronとは何ですか?
  • WordPressのcronジョブを管理する方法
    • プラグインでWordPressのcronジョブを管理する方法
      • ステップ1:WPコントロールプラグインをインストールする
      • ステップ2:cronイベントを表示して理解する
      • ステップ3:cronイベントを編集する
      • ステップ4:カスタム時間間隔を追加する
      • ステップ5:新しいcronイベントを追加する
    • WPCLIを使用してWordPressCronジョブを管理する方法
  • 実際のcronジョブを設定する方法

Cronは、特定の時間、日付、または間隔でタスクの実行(スクリプトまたはコマンド)をスケジュールするための標準のUNIXユーティリティです。 実行するタスクは、cronジョブと呼ばれます。 ご想像のとおり、cronジョブの目的は、反復的なタスクを自動化して、時間をより生産的に使用できるようにすることです。

ただし、WordPress cronジョブは標準のcronとは少し異なります。そのため、アクションとプロセスに取り掛かる前に、WordPresscronとは何かとその動作を理解する必要があります。

WordPress Cronとは何ですか?

WordPressには、更新の確認、公開用の投稿のスケジュール設定、ゴミ箱からのコメントの削除などのタスクをスケジュールするための独自のcronシステムがあります。 すべてのcronジョブはWP-Cronによって処理されます。

名前(および主なアイデア)はUNIX cronに由来しますが、WordPress cronはそのようには機能せず、タスクのスケジューリングに間隔を使用します。 WordPressが提供するデフォルトの時間間隔は、1時間ごと、1日2回、1日、および1週間です。 ここで、時間ベースのタスクはサイトにアクセスするユーザーに依存します。つまり、WordPress cronは、ユーザーがWebサイトにアクセスした場合にのみ実行されます。

月額$10から始まるマネージドWordPressホスティング

最速のクラウドホスティングプラットフォームで、cronジョブを非常に簡単に追加およびスケジュールできます。

3日間の無料トライアル

つまり、WordPress cronは、ページが読み込まれたときに実行されます。 これはそれほど信頼できない場合があります。そのため、多くのユーザーはWP-Cronジョブよりもサーバーレベルのcronジョブを好みます。

この記事では、WordPressのcronジョブを管理し、WordPressサイトに実際のcronジョブを設定する方法を紹介します。

WordPressのcronジョブを管理する方法

WordPressのcronジョブを設定および管理する方法はたくさんありますが、2つの一般的な方法を紹介します。

1つ目は、WPダッシュボードから直接WordPress cronジョブを追加、変更、および管理できるWPCrontrolなどのcron管理プラグインを使用します。 cronジョブを作成し、フックと関数を作成し、タスクのカスタム時間間隔を定義することもできます。

そして2番目の方法はWordPressCLIを使用することです。

プラグインでWordPressのcronジョブを管理する方法

WordPressアプリケーションのWordPresscronを表示および制御できるWPCrontrolプラグインを使用します。 これは、WP cronジョブを処理するために使用される人気のあるプラグインであり、100,000を超えるアクティブなインストールがあります。
これはWordPresscronジョブを管理する最も簡単な方法であり、WordPress cronイベントをすばやく表示、編集、作成、削除でき、さらに多くのことを実行できます。

それでは始めましょう!

ステップ1:WPコントロールプラグインをインストールする

他のプラグインと同様に、プラグインリポジトリからWP Crontrolをインストールし、アクティブ化する必要があります。 インストールすると、新しいオプション「CronEvents」が[ツール]タブに表示されます。

cronイベント

ステップ2:cronイベントを表示して理解する

次に、[cronイベント]をクリックする必要があります。WordPressアプリケーションで実行されているcronイベントのリストが表示されます。

cronイベントのリスト

このセクションから、cronイベントを実行、編集、および削除できます。 cronイベントの上にマウスを置くと、このオプションが表示されます。

また、これらのcronジョブに関する有用な情報を見つけて、どのcronジョブがどの目的で使用されているかなどをすばやく特定できます。 最初の列のフックには、WordPressコアまたは任意のプラグインで使用されるフックの名前が表示されます。 たとえば、プレフィックス「 wp 」は、WordPressコアのcronであることを示しています。 また、これらのcronイベントを削除するオプションはありませんが、[編集]および[今すぐ実行]オプションを使用できます。 同様に、プラグインの場合、他のプレフィックスが使用されていることに気付くでしょう(たとえば、WooCommerceの場合、「wc」または「woocommerce」)。

2番目の列の引数には、フック関数に渡される引数が含まれています。

3番目の列は、このcronジョブが次回実行されるタイミングを示しています。

4番目の列のアクションは、このcronが実行するアクション(cronジョブの「機能」)を示しています。
最後の列は、cronジョブの繰り返しタイミングを定義します。 これは基本的に、スケジュールされたタスクの時間間隔です。

ステップ3:cronイベントを編集する

次に、WP cronジョブを編集して、このプラグインをテストしましょう。

フックの名前に移動し、[編集]をクリックします。 新しいセクション「 EditCronEvent 」がポップアップ表示され、さまざまなフィールドが表示されます。 私の場合、「wp_privacy_delete_old_export_files」フックを編集しました。 次に、このcronジョブの繰り返しを「15分ごと」に変更します。

cronイベントを編集する

ステップ4:カスタム時間間隔を追加する

次に、cronイベントにカスタムの時間間隔を追加する方法を説明します。 このためには、「 cronスケジュール」タブをクリックすると、新しい画面が表示され、スケジュールされた時間間隔の詳細が表示されます。 次に、「 Cronスケジュール追加」が表示される一番下までスクロールします。 フィールドに入力して、[ Cronスケジュール追加]をクリックします。

cronスケジュールを追加

間隔の入力は秒単位であることに注意してください。 600秒を使用して間隔を10分に設定します。

これで、cronイベントを編集して、独自のカスタム間隔に置き換えることができます。

cronイベントを編集する

ステップ5:新しいcronイベントを追加する

これで、cronイベントの簡単なタスクを管理する方法がわかりましたが、WordPressアプリケーションに独自のcronジョブを追加したい場合はどうでしょうか。 とてもシンプルで心配しないでください。必要なのは以下の手順に従うことだけです。

まず、[cronイベントの追加]をクリックすると、[cronイベントの追加]セクションが表示されます。 次に、必要に応じてフック名を付けます(通常のPHP命名規則に従い、スペースは使用しないでください)。

次に、引数を追加します(これはオプションです)。私の場合は空白です。 次に、任意のオプションを選択し、[実行]フィールドに時間を入力します。 最後に、新しいcronの繰り返し時間(スケジュール時間)を選択し、[イベント追加]をクリックします。

cronイベントを追加

これに関する質問がある場合は、cronイベントから実行中のcronジョブの設定を確認できます。

新しいcronジョブを追加したら、[ cronイベント]タブに移動して、新しく作成したcronを確認します。 アクション列に「なし」(エラー)が表示されます。 これは、このcronジョブのアクションを定義していないためです。 したがって、テーマのfunctions.phpファイルに数行のコードを記述し、アクションを追加する必要があります。

エラーなし

注:先に進む前に、WordPressサイトをバックアップすることを強くお勧めします。

ファイルを開いて、 <?phpの直後に次のコード行を追加しましょう。

 add_action('cloudways_new_cron'、'cw_function');
関数cw_function(){
wp_mail('[メール保護]'、'Cloudways Cron'、'Cloudways-マネージドクラウドホスティング!');
}

私のメールアドレスを自分のメールアドレスに置き換えることを忘れないでください。

関数phpメールアドレス
上の画像でわかるように、WordPressダッシュボードで直接編集しました。 必要に応じて、FileZillaなどのFTPクライアントを介してこのファイルを編集できます。

次に、メールの受信トレイをチェックして、メッセージを受信して​​いるかどうかを確認しましょう。

cronメール

多田! これで、新しいcronイベントが正常に追加されました。

WPCLIを使用してWordPressCronジョブを管理する方法

WordPressCLIからすべてのWordPresscronジョブを表示および管理することもできます。 Cloudwaysでは、ターミナルを起動し、サーバーの資格情報を使用してログインする必要があります。

次に、WordPressアプリケーションのパスを配置します。 私の場合、URLは次のとおりです。

 cdアプリケーション/urrghmpqks/ public_html / 

cronジョブWPCLI

次に、次のコマンドを実行する必要があります。

 wpcronイベントリスト

cronジョブWPCLI

フック名、次の実行時間、次の実行相対、および再発(スケジュールされた時間)を確認できます。

実際のcronジョブを設定する方法

これで、WordPressのcronジョブとは何か、そしてそれがどのように機能するかがわかりました。 トラフィックが少ない、特定の時間に実行する必要のある重要なタスク、過度のDDoS攻撃、ページの読み込み時間が長いなどの理由で、実際のcronジョブに置き換えたい場合はどうでしょうか。

それでは始めましょう!

ステップ1:wp-config.phpファイルを開いて編集する

まず、FileZillaなどのFTPクライアントまたはpuTTYなどのSSHクライアントを使用してwp-configファイルを開く必要があります。 その後、ファイルを編集し、次のコード行を/ *と表示されている行の前に配置します。これで、編集を停止します。 幸せなブログ。 * /

コード:

 define('DISABLE_WP_CRON'、true); 

wp設定ファイルを編集する

このコードは、WordPressサイトで実行中のcronイベントを無効にし、実際のcronジョブを作成できるようになりました。

ステップ2:サーバーに新しいcronジョブを追加する

次に、Cloudwaysプラットフォームにログインし、[アプリケーション管理]パネル>[cronジョブ管理]>[詳細]セクションに移動します。

新しいcronジョブの追加

次に、次のコマンドを追加して、[変更を保存]をクリックします。
*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron' >/dev/null 2>&1

高度なcronタブ

上記のコマンドでは、最初にcronジョブに5分の間隔を定義しました。 このサイトを使用して、タイムスケジュール式を確認できます。 私の場合、 */5 * * * *は区間式です。

おめでとう! これで、実際のcronジョブが正常に追加されました。

最後の言葉!

この記事が、WordPressのcronジョブがどのように機能するかを理解するのに役立つことを願っています。 WordPressのcronジョブを管理する2つの方法について説明しました。 1つはプラグインを介して、もう1つはWP-CLIを介して。 また、ライブサーバーで実際のcronジョブを設定する方法についても説明しました。

ご不明な点がございましたら、下のコメント欄でお知らせください。