WordPressのcronジョブを表示および管理する方法
公開: 2022-05-11Cronは、ユーザーがLinuxまたはUnixライクなオペレーティングシステムでスケジュールされたタスクを実行できるようにするジョブスケジューラです。
WordPressには、WP-Cronと呼ばれる独自のCronがあります。 WordPress Cronの主な目的は、WordPressのコアタスクを実行することです。 この記事では、WP-Cronとは何か、WordPress Cronジョブを表示および管理する方法、およびWebサイト内でWP-Cronを無効にする方法について説明します。
目次
WordPressCronとは |
cronジョブを管理する方法 |
WordPressCronイベントの表示 |
cronイベントの編集 |
新しいcronイベントの追加 |
cronスケジュール |
WpCronの無効化 |
結論 |
WordPress Cronとは何ですか?
WordPress Cron(WP-Cron)は、WordPressがタスクのスケジューリングを容易にする方法を指します。 これらのタスクは、Cronジョブと呼ばれます。 Cronジョブの例には、スケジュールされた投稿の公開、バックアップおよび更新チェックの実行が含まれます。
WordPress Cronは、ページの読み込み時に実行する必要があるものをチェックすることにより、スケジュールされたタスクに基づいて機能します。 ただし、これは、スケジュールされたタスクがあるときにページの読み込みが発生しない場合、エラーが発生するため、不利になる場合があります。 ただし、これは不利な点ですが、少なくともタスクのキュー位置に基づいて次のページが読み込まれるまで、タスクが最終的に実行されることが保証されます。
cronジョブを管理する方法
WP Crontrolプラグインの助けを借りて、実際にCronジョブを表示、追加、および変更することが可能です。
プラグインを利用するには、WordPressダッシュボード内の[プラグイン]> [新規追加]セクションに移動し、WPCrontrolプラグインを検索します。
次に、プラグをインストールしてアクティブにします。
インストールが完了したら、WordPressサイトでのCronジョブの管理に進むことができます。
WordPressCronイベントの表示
WordPress Cronイベントを表示するには、WordPressダッシュボード内の[ツール]>[Cronイベント]セクションに移動します。
ここでは、Webサイト内で実行するようにスケジュールされているすべてのイベントを表示できます。
イベントはさまざまなカテゴリにグループ化されています。
- アクションのないイベント
- WordPressコアイベント
- カスタムイベント
最初の列の下に、Cronイベントの実行に使用されるフックを表示できます。 フック名は、スケジュールされたイベントが何をするかについてのアイデアを提供します。 接頭辞wpが付いたフックは、WordPressコアイベントフックです。 これらのフックは削除できません。
2番目の列には、「引数」セクションがあります。 この列には、フックに渡される引数が含まれています。 フックに引数が含まれていない場合、「なし」プレースホルダーがレンダリングされます。
3番目の列は「次の実行」です。 これにより、Cronイベントが次に実行される時刻と、イベントが次に実行されるまでの時間間隔が表示されます。
4列目は「アクション」です。 ここに、Cronフックが実行するアクションがあります。
「再発」が最後の列です。 これには、イベントが繰り返されるタイミングまたはイベントが再発するタイミングに関する定義が含まれています。
cronイベントの編集
Cronイベントを編集するには、Cronイベントにカーソルを合わせ、イベントの編集リンクをクリックします。
その後、「Cronイベントの編集」セクションにリダイレクトされます。 ここでは、お好みに合わせてイベントをカスタマイズできます。
新しいcronイベントの追加
[Cronイベント]セクション内の[新規追加]ボタンをクリックして、新しいCronイベントを作成します。
次に、「Cronイベントの追加」セクションがある次の画面にリダイレクトされます。
このセクション内で、イベントタイプ(標準イベントまたはPHP Cronイベント)を指定します。
次に、フック名を指定します。 フック名は、WordPressの命名規則に従う必要があります。 ここでは、フック名「wpb_publish_post」を追加します。
引数セクションでは、配列に追加する必要のある引数を入力できます。 ただし、これはオプションです。
[次の実行]セクションでイベントが実行される時間を指定し、[繰り返し]セクションでイベントが実行される頻度を指定します。
以下は、ここで指定する詳細のサンプル図です。
イベントを追加すると、以下に示すように、イベントリストからイベントが表示されます。
次に、フックの機能を決定するPHPコードをテーマのfunctions.phpファイルに追加します。
ここでは、特定の投稿を公開するためのコードを追加します。 そのためには、次のコードを追加する必要があります。
function publish_post_func(){ //Assign your Post ID $post = 717; //Run the publish post function $result = wp_publish_post($post); } add_action( 'wpb_publish_post', 'publish_post_func' );
このコードが行うことは、投稿ID 717である投稿の1つを公開することです。Webサイトで利用可能な投稿に基づいて、好みの投稿IDを使用できます。
投稿は1回しか公開できないため、指定したイベントの繰り返しは「繰り返しなし」であることに注意してください。
設定された「次の実行」時刻に達すると、投稿が公開されます。 以下はこれに関するスクリーンキャストです:
cronスケジュール
WP Crontrolプラグインには、デフォルトのCronスケジュールが含まれています。 これらは、WordPressダッシュボードの[設定]>[cronスケジュール]セクションから識別できます。 カスタムスケジュールを追加するプラグインがある場合、これらもこのセクションに反映されます。 セクション内に独自のカスタムスケジュールを追加することもできます。 以下は、このセクションのサンプル図です。
コードを介して手動でスケジュールを追加したい場合は、これも実現可能です。 以下は、60秒のcron間隔を追加するためのサンプルコードです。 テーマのfunction.phpファイルにコードを追加できます。
add_filter( 'cron_schedules', 'cron_interval' ); function cron_interval( $schedules ) { $schedules['sixty_seconds'] = array( 'interval' => 60, 'display' => esc_html__( 'Every Sixty Seconds' ), ); return $schedules; }
追加すると、Cronスケジュールリスト内にスケジュールが表示されます。
WpCronの無効化
トラフィックの多いサイトでは、WordPress Cronは、特にページの読み込みに関して、Webサイトのパフォーマンスに悪影響を与える可能性があります。 このような場合、WordPress Cronを無効にして、代わりにServerCronを使用するのが理にかなっています。
デフォルトのWordPressCronを無効にするには、次の手順を実行する必要があります。
FTP経由でサイトファイルにアクセスします。 これは、FilezillaなどのFTPソフトウェア、またはホストが提供するcPanelなどのパネルを使用して行うことができます。
WordPressファイルのルートに移動し、wp-config.phpファイルの編集を選択します。
ファイル内で、「/ *これで、編集を停止します。」という行のすぐ上にコードを追加します。 ハッピーパブリッシング。 */」。
define('DISABLE_WP_CRON', true);
以下は、これに関するスクリーンショットの例です。
これが完了したら、変更を保存します。
結論
WordPress Cronを使用すると、Cronイベントを非常に簡単にスケジュールできます。 この記事では、Cronジョブとは何か、WP Crontrolプラグインを使用してそれらを管理する方法、およびWordPressCronを無効にする方法について説明しました。
この記事が、WordPressCronイベントの管理方法に関する洞察を提供するのに役立つことを願っています。 ご質問やご提案がございましたら、下にコメントを残してください。