2016-08-28 11 views
0

私はwp cronジョブの周りに頭を抱えて、1時間に1回、指定された電子メールアドレスに電子メールを送信する予定の次のスニペットコードで遊んでいます。もちろん、訪問者がサイトを訪問して仕事を引き起こしたことを条件とします(wp cronジョブは明らかに実際の仕事ではありません)。WP Cronジョブはすべてのページで実行されます

さて、仕事は電子メールが電子メールアドレスに送信されますことで動作しますが、二つの問題があります。

  1. メールがクロンジョブごとに複数回送信される
  2. cronジョブが起動しているように見えます

    :一時間に一度ここで

以上実行することになっていないにもかかわらず、すべてのページの負荷に(wp_schedule_event not firingからretrived)のコードです

1時間に1通のメールしか送信されない理由は誰にでも分かりますか? // Mega WP Noob

答えて

0

イベントがスケジュールされているか、イベントが見つからない場合は、別の名前で登録しているかどうかを確認しています。不一致は、すべてのページの読み込み時に実行される原因です。

変更この:これに

if (! wp_next_scheduled('prefix_hourly_event')) { 

if (! wp_next_scheduled('prefixhourlyevent')) { 

私はまた、あなたが各ページのロードに一度ではなく、スケジュールをチェックすることができるかどうかを見てみたいです。たとえば、プラグインを作成していた場合は、プラグインのアクティベーションフックでそのプラグインを起動できます。

続きを読む:https://codex.wordpress.org/Function_Reference/wp_schedule_event

+0

ありがとうNathan;それはトリック:)! –

関連する問題