Сценарий или плагин для автоматической отправки электронной почты автоматически через 2 часа

Я хотел бы установить задание cron на моем сервере для запуска автоматизированного сценария, который сообщает WordPress:

  • Проверьте пользователей, которые зарегистрировались, но не вошли в систему за последние 2 часа.
  • Повторите отправку приветственного сообщения только тем пользователям, которые зарегистрировались за последние 2 часа.
  • На следующем задании cron он будет игнорировать пользователей, которым уже было отправлено еще одно приветственное письмо в предыдущих сеансах cron – вы даже можете удалить пользователей, которые не вошли в систему в течение 2-часового ограничения, если это проще.

Очень ценю некоторые советы или рекомендации о том, как это сделать. Я искал сетку для ответа безрезультатно. Надеюсь, кто-то может помочь.

wp_users таблице wp_users есть user_registered и user_activation_key которые вы должны использовать для этого.

Для задания cron вы должны использовать wp_schedule_event () . Однако у него есть один недостаток.

Действие будет инициироваться, когда кто-то посетит ваш сайт WordPress, если запланированное время прошло.

Для занятого сайта это не проблема. Но если ваш сайт не имеет посетителя в течение 2 часов, то задача cron не будет запускаться. Вы ничего не можете сделать, если вам нужно использовать работу wordpress cron.

В вашей функции cron вам необходимо запросить пользователей, которые зарегистрировались, но учетная запись не активировалась за последние 2 часа с помощью этих двух полей.

РЕДАКТИРОВАТЬ:

Вы можете проверить пользователей, которые зарегистрировались, но не активировали свою учетную запись за последний час с помощью следующего кода –

 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. Поддержка плагинов здесь отсутствует.