web-dev-qa-db-ja.com

2時間後に再度アクティベーションEメールを自動的に送信するためのスクリプトまたはプラグイン

私のサーバーで、Wordpressに次のことを指示する自動スクリプトを実行するようにcronジョブを設定したいと思います。

  • 過去2時間にサインアップしたがログインしていないユーザーを確認します。
  • 過去2時間以内にサインアップしたユーザーのみにウェルカムメールを再送信してください。
  • 次回のcronジョブでは、前回のcronの実行で既に別のウェルカムメールが送信されているユーザーは無視されます - 2時間以内にログインしていないユーザーを削除することもできます。

これを設定する方法についてのいくつかのアドバイスやポインタを本当に感謝します。私は無駄に答えをネットで探しています。うまく行けば誰かが助けることができます。

1
user1249523

wp_usersテーブルには、これに使用する必要があるuser_registeredおよびuser_activation_keyフィールドがあります。

Cronジョブの場合は、 wp_schedule_event() を使用してください。ただし、欠点が1つあります。

スケジュールされた時間が過ぎると、誰かがあなたのWordPressサイトにアクセスしたときにアクションがトリガーされます。

忙しいサイトのためにそれは問題ではありません。しかし、あなたのサイトに2時間訪問者がいなければ、そのcronタスクは起動しません。あなたがワードプレスクーロンの仕事を使用する必要がある場合あなたがそれについてできることは何もありません。

あなたのクーロン機能では、あなたは登録したが、アカウントはこれら2つのフィールドの助けを借りて過去2時間以内に有効にされなかったユーザーを問い合わせる必要があります。

編集:

あなたは登録したが、以下のコードで過去1時間以内に自分のアカウントを有効にしなかったユーザーをチェックすることができます -

global $wpdb;
$users = $wpdb->select_results("SELECT * FROM $wpdb->users
                               WHERE user_activation_key = ''
                                 AND user_registered >= NOW() - INTERVAL 2 HOUR"
                               );
foreach( $users as $user ) {
    //Send activation mail
}

あなたが電子メールテンプレートの助けを必要とするならば、あなたはWordpressフォーラムサポートでプラグイン作者に尋ねなければなりません。プラグインのサポートはここでは話題になっていません。

0
sakibmoon