WordPress Cron ジョブを作成および変更する方法

Rifat WordPressプラグイン Jul 4, 2023

Cron は、バックグラウンドで動作する Web サーバー上でコマンドやスクリプトをスケジュールするために Unix/Linux システムで一般的に使用されるユーティリティです。 cron ジョブとは、あらかじめ決められた固定時刻、日付、または間隔で実行するようにスケジュールされた特定のタスクを指します。 このようなタスクは効率を高めるために繰り返し行われ、自動化されることがよくあります。 WordPress の場合、WP-Cron 機能を利用してシステム cron をエミュレートします。

WordPress cron ジョブのインスタンスには、投稿の公開のスケジュール設定や、事前定義されたタイムテーブルでのバックアップ プラグインの実行が含まれる場合があります。 この説明の焦点は、WordPress cron ジョブを簡単に作成、変更、実行するための包括的なガイダンスを提供することです。

WordPress で Cron ジョブを設定する方法

WP-Cron はシステム cron とは若干異なり、それぞれに独自の長所と短所があることに注意してください。 WP-Cron は間隔のみに依存しますが、システム cron は特定の時間に依存します。 さらに、WP-Cron は、バックエンドかフロントエンドかに関係なく、ページが読み込まれたときにのみ機能するため、信頼性が低下する可能性があります。 WordPress によって提供されるデフォルトの間隔には、1 時間ごと、1 日 2 回、および 1 日ごとのスケジュールが含まれます。

WP-Cron イベントをスケジュールするには、カスタム フックを作成する必要があります。 WP-Cron イベントのスケジュールに関する優れたガイドを提供する、公式 WordPress プラグイン ハンドブックを参照することを強くお勧めします。 WordPress 内でシステム cron を設定する別の方法をお探しの場合は、WordPress cron ジョブの定義に関する Tom Mcfarlin’ の記事を参照することをお勧めします。 さらに、経験が浅い人のために、人気のある無料のWP C r ontrol プラグインと組み合わせて WP-Cron を利用する簡単な方法を検討します。 このプラグインを使用すると、WP-Cron システム内のアクティビティを監視および管理できます。

素晴らしいウェブサイトを作成します

最高の無料ページビルダーElementor を使用

今すぐ始める

WP Crontrol は、200,000 を超える驚異的なアクティブ インストール数を誇り、5 段階中 4.5 という優れた評価を備えています。WordPress コミュニティ内で、このプラグインは大きな賞賛を集めています。

このプラグインは、実行がスケジュールされている CRON ジョブの包括的な概要を提供することで、優れた実用性を提供します。 これは、基礎となるプロセスを理解し、その運用ステータスを判断するための優れた最初のステップとして機能します。 このようなメリットがあり、満場一致で5つ星の評価を獲得しました。 さらに、新しい cron ジョブを作成し、既存のジョブの実行を開始できる機能により、その価値がさらに高まり、Caldera Forms の作成者である Josh 氏が認めたように、さらに 5 つ星の評価が保証されます。

このプラグインを入手するには、WordPress リポジトリから直接ダウンロードするか、WordPress ダッシュボードの [新規追加] プラグイン セクションで見つけます。 WP Control の注目すべき機能には次のものが含まれます。

  • それぞれの引数、再発パターン、今後の実行時間を含む、すべての cron イベントの包括的な表示。
  • cron イベントを変更、削除、または即座に開始する機能。
  • 新しい cron イベントを導入するための規定。
  • カスタム cron スケジュールを追加、変更、削除するオプション。

WP-Cron スケジュール

アクティブ化すると、ユーザーは WordPress ダッシュボードの設定内の「Cron スケジュール」セクションにアクセスして、WordPress Cron ジョブ スケジュールを変更できるようになります。 プラグインにより、毎週の頻度の追加のデフォルト スケジュールが導入されることに注意することが重要です。 さらに、ユーザーは、秒単位で測定される追加のスケジュール (たとえば、6 時間ごとにタスクを実行する場合は 21600 秒) を含めるオプションがあります。

これらの間隔は、次のコード行で例示されるフィルターを利用することでコードに組み込むことができます。

add_filter( 'cron_schedules', 'example_add_cron_interval' );

function example_add_cron_interval( $schedules ) {
 $schedules['five_seconds'] = array(
 'interval' => 5,
 'display' => esc_html__( 'Every Five Seconds' ),
 );

return $schedules;
 }

WP-Cron イベント


その後、このプラグインを利用して、スケジュールされた既存の WordPress Cron ジョブを表示することもできます。 この機能にアクセスするには、[ツール] タブの [Cron イベント] セクションに移動します。 多数のアクション名は、「woocoomerce_cleanup_sessions」や「gravityforms_cron」など、プラグイン名の特定の部分に対応すると予想されるため、すぐに識別できます。


Cron イベントの即時実行を開始するには、対応するアクション名の横にある「今すぐ実行」オプションをクリックするだけです。 この機能は、トラブルシューティングのプロセス中、特に Cron イベントを複数回実行する必要がある場合に有利であることがわかります。

Cronイベントの追加

さらに、Cron イベントをセットアップに組み込むオプションもあります。 この例では、Disqus プラグイン専用の WordPress Cron ジョブを追加するプロセスを示します。 多くの人は、同期頻度を変更したり、コメント同期に関連する問題を解決したりするために、このタスクを実行したいと考えているかもしれません。 各サードパーティのプラグイン開発者が提供するドキュメントには、cron イベントの指定名、つまりアクション名が含まれている必要があります。 Disqus プラグインの場合、使用されるアクション名は「dsq_sync_forum」です。

cron イベントを最初から作成する場合は、functions.php ファイルなどのコード内に対応するアクション フックが必要になります。 WP-Crontrol の厚意による次の例は、この概念を示しています。

add_action( 'my_hookname', 'my_function' );

次に書く関数は -

function my_function() {
    wp_mail( '[email protected]', 'WP Crontrol', 'WP Crontrol rocks!' );
}


Disqus の場合、最初のステップでは、600 秒 (10 分に相当) の継続時間を持つ新しい cron スケジュールを組み込む必要があります。 続いて、「Add Cron Event」機能にアクセスし、指定されたアクション名として「dsq_sync_forum」を入力します。 次に、その後の実行時間を選択し、最近確立した 10 分の間隔を選択します。 最後に、「Add Cron Event」を選択してプロセスを終了します。 その結果、この手順により 10 分ごとの自動繰り返しが保証され、Disqus コメントと WordPress データベースの手動同期が容易になります。

基本的に、この機能の利用は簡単でユーザーフレンドリーです。

トウモロコシイベントの変更

さらに、アクション名の横にある「編集」オプションを選択することで、既存の Cron イベントを変更することができます。 その結果、アクション名、引数、その後の実行、およびスケジュールされた繰り返しを変更できるようになります。 多くのプラグインは適切な機能を得るために Cron ジョブに依存しているため、このような変更を行う場合は注意することが重要です。

cPanel を使用して Cron ジョブを追加する

Web ホストから提供された cPanel アカウントにアクセスできる場合は、コントロール パネルを利用して cron ジョブを確立できます。 これを行うには、cPanel アカウントにログインし、[詳細設定] セクションに移動し、[Cron ジョブ] を選択します。

Cron ジョブの設定ページでは、cron ジョブ通知を構成し、新しい通知を確立するための選択肢が提供されます。 cron ジョブを組み込むには、下にスクロールして「Add New Cron Job」というセクションに移動してください。

このセクションでは、コマンドの頻度を調整することができます。

[共通設定​​] メニューには、1 分に 1 回から 1 年に 1 回までのさまざまな事前設定された選択肢が含まれています。 ユーザーは、これらのオプションのいずれかを選択するか、個人用の値を入力して以下のフィールドをカスタマイズすることができます。

cron ジョブの頻度を構成した後、指定されたコマンド フィールドに実行するコマンドの入力に進むことができます。 変更を保存するには、[新しい Cron ジョブの追加] オプションを選択して cron ジョブを保存します。 その結果、新しく作成された cron ジョブが、ページの下部にリストされている現在の Cron ジョブの中に表示されます。

WP-Cron を無効にする

場合によっては、WP-Cron 機能を使用すると、Web サイトに複雑な問題が発生する可能性があります。 WP-Cron は cron ジョブのシミュレートされたバージョンであり、このようなジョブに通常伴う継続的な操作が欠けています。 代わりに、WordPress はページが読み込まれるたびに wp-cron.php スクリプトを実行します。

このアプローチは、ページを読み込むたびに wp-cron.php を実行するために大量のリソースを割り当てる必要があるため、トラフィックが多い Web サイトでは課題が発生する可能性があります。 ページの読み込みによりスクリプトの実行が失敗した場合、wp-cron.php は間隔を積極的に監視しないため、スケジュールされたコマンドの実行も失敗する可能性があります。

WP-Cron で問題が発生した場合は、次のコードを WordPress wp-config.php ファイルに組み込むことで、この機能を無効にすることができます。

define('DISABLE_WP_CRON', true);

変更がファイルに保存されると、プロセスは完了です。 ただし、WP-Cron を無効にする場合は、このチュートリアルの前のセクションで説明したいずれかの方法を使用して、代替ソリューションを確立する必要があります。

まとめ

各マネージド WordPress プランにシームレスに統合される 275 ドル以上のエンタープライズ グレードの統合を活用することで、Web サイトの機能を最適化しながら効率を高め、経費を削減します。 これらの統合には、高性能のコンテンツ配信ネットワーク (CDN)、堅牢な分散型サービス拒否 (DDoS) 保護、マルウェアやハッキングの試みに対する包括的な保護手段、効率的なエッジ キャッシュ メカニズム、Google の最も高速な CPU マシンが含まれます。 長期間の契約義務を負わずに移行を開始し、ガイド付き移行のメリットを享受し、30 日間の返金保証をお楽しみください。

Divi WordPress Theme