it-swarm.com.de

Skript oder Plugin, um die Aktivierungs-E-Mail nach 2 Stunden automatisch erneut zu senden

Ich möchte einen Cron-Job auf meinem Server einrichten, um ein automatisiertes Skript auszuführen, das Wordpress anweist,

  • Überprüfen Sie die Benutzer, die sich in den letzten 2 Stunden angemeldet, aber nicht angemeldet haben.
  • Senden Sie die Begrüßungs-E-Mail nur an die Benutzer, die sich in den letzten 2 Stunden angemeldet haben.
  • Beim nächsten Cron-Job werden die Benutzer ignoriert, denen in den vorherigen Cron-Läufen bereits eine weitere Begrüßungs-E-Mail gesendet wurde. Sie können sogar die Benutzer löschen, die sich nicht innerhalb des 2-Stunden-Limits angemeldet haben, wenn dies einfacher ist.

Schätzen Sie wirklich einige Ratschläge oder Hinweise zur Einrichtung. Ich habe im Internet nach einer vergeblichen Antwort gesucht. Hoffentlich kann jemand helfen.

1
user1249523

Die Tabelle wp_users enthält die Felder user_registered und user_activation_key, die Sie dafür verwenden sollten.

Für den Cron-Job sollten Sie wp_schedule_event () verwenden. Es hat jedoch einen Nachteil.

Die Aktion wird ausgelöst, wenn jemand Ihre WordPress-Site besucht, wenn die geplante Zeit abgelaufen ist.

Für eine geschäftige Site ist das kein Problem. Wenn Ihre Site jedoch 2 Stunden lang keinen Besucher hat, wird diese Cron-Task nicht ausgelöst. Es gibt nichts, was Sie dagegen tun können, wenn Sie WordPress-Cron-Job verwenden müssen.

In Ihrer Cron-Funktion müssen Sie anhand dieser beiden Felder nach den Benutzern fragen, die sich registriert haben, aber in den letzten 2 Stunden kein Konto aktiviert haben.

EDIT:

Sie können nach Benutzern suchen, die sich mit dem folgenden Code registriert haben, aber in der letzten Stunde ihren Account nicht aktiviert haben:

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
}

Wenn Sie Hilfe bei der E-Mail-Vorlage benötigen, müssen Sie den Autor des Plugins im Wordpress-Forum um Unterstützung bitten. Plugin-Unterstützung ist hier nicht zum Thema.

0
sakibmoon