Senden einer E-Mail-Benachrichtigung bei der Veröffentlichung eines Beitrags

Einführung

Möchten Sie eine E-Mail-Benachrichtigung an die Autoren senden, die einen Beitrag einreichen, wenn ihr Beitrag veröffentlicht wird? Wenn Sie ein Formular für das Post Submissions-Addon erstellen, können Sie den Status dieses Beitrags auf " Entwurf" oder " Zur Überprüfung anstehend " setzen, wenn er eingereicht wird. Auf diese Weise kann der Website-Administrator den Artikel vor seiner Veröffentlichung überprüfen. Wenn der Artikel veröffentlicht wird, erhält der Autor keine Benachrichtigung. Durch Hinzufügen eines kleinen Snippets zu Ihrer Website können Sie jedoch ganz einfach eine Benachrichtigung an den Autor senden, um ihn darüber zu informieren, dass sein Beitrag gerade veröffentlicht wurde.

In diesem Tutorial zeigen wir Ihnen Schritt für Schritt, wie Sie dies erreichen können!

Erstellen eines Formulars für die Einreichung von Beiträgen

Für die Zwecke dieses Tutorials haben wir bereits ein Formular für Gastbeiträge erstellt. Wenn Sie jedoch Hilfe bei der Einrichtung eines Formulars mit dem Post Submissions Addon benötigen, besuchen Sie bitte diese Dokumentation, in der Sie detaillierte Schritte zur Erstellung dieses Formulars finden.

Sobald Sie Ihr Formular erstellt haben, müssen Sie die Einstellungen anpassen. Klicken Sie im Formularersteller auf Einstellungen und dann auf die Registerkarte Post Submissions, um diese Einstellungen zu bearbeiten.

Wir werden die Felder wie den Beitragstitel, das Hauptbild usw. zuordnen, aber wir werden auch den Beitragsstatus in "Pending Review" (ausstehende Überprüfung) ändern, wenn eine Übermittlung empfangen wird, damit wir den Beitrag vor der Veröffentlichung überprüfen können.

Setzen Sie den Beitragsstatus auf "Zur Überprüfung anstehend" oder "Entwurf".

Einstellen der E-Mail-Benachrichtigung für Beitragseinreichungen

Als Nächstes fügen Sie das Code-Snippet hinzu, das den Autor per E-Mail benachrichtigt, wenn der Beitrag veröffentlicht wird. Dazu müssen Sie ein Code-Snippet zu Ihrer Website hinzufügen.

Wenn Sie Hilfe beim Hinzufügen von Code-Snippets zu Ihrer Website benötigen, lesen Sie bitte dieses Tutorial.

/**
 * Notify author when post-submission article is published
 *
 * @link   https://wpforms.com/developers/how-to-send-email-notification-on-post-submission-publish/
 */
 
function notifyauthor($post_id) {
     
    global $wpdb;
     
    $post = get_post($post_id); // Get the Post info
     
    $table_name = $wpdb->prefix . 'wpforms_entries'; // Our entries table
     
    $wpf_entry_fields = $wpdb->get_col( $wpdb->prepare( "SELECT fields FROM {$table_name} WHERE post_id = %d;", $post_id ) ); // Query the table based on Post ID
     
    $wpf_entry_data = json_decode( $wpf_entry_fields[0] ); // Decode the data
    // Set these to false now. They will be set to true if an email and name are found.
    // 
    $name_found = false;
    $email_found = false;
     
    // Look for the author's email address and name.
    foreach ( $wpf_entry_data as $item ) {
         
        // Find the name, only use the first
        if ( "name" == $item->type && false == $name_found ) {
            $author_name = $item->first;
            $name_found = true;
        }
         
        //Find the email address
        if ( "email" == $item->type ) {
            if( is_email( $item->value ) ){
                $author_email = $item->value;
                $email_found = true;
                break;
            } 
        }
    }
     
    // Email address found, so send the notification
    if( true == $email_found ){
        $subject = "Post Published: ".$post->post_title."";
        $message = "
              Hi there, " . esc_attr( $author_name ) . "!,
              Your post, \"" . $post->post_title . "\" has just been published.
              View post: " . get_permalink( $post_id ) . "
              Thanks";
           wp_mail( $author_email, $subject, $message );
    }
}
 
add_action( 'publish_post', 'notifyauthor' );

Wenn der Veröffentlichungsstatus des Beitrags aktualisiert wird, sucht dieses Snippet nach dem Autor mit diesem Namen. Wenn es gefunden wird, erhält es die E-Mail-Adresse, die mit diesem Benutzer verbunden ist, und sendet die Nachricht, die in das Snippet eingegeben wurde.

Ändern Sie die Nachricht so, wie Sie es wünschen, wenn der Beitrag veröffentlicht wird

Sie können diese Nachricht, die an den Autor geht, nach Belieben aktualisieren. In diesem Beispiel setzen wir den Betreff der E-Mail auf den Titel des Beitrags und fügen den Titel des Beitrags und seinen Permalink in die E-Mail-Benachrichtigung ein.

Hinweis: Wenn mehrere Autoren denselben Namen verwenden, wird das Snippet mit dem ersten gefundenen Namen beginnen.

Und wenn der Beitrag veröffentlicht wird, erhält der Autor eine E-Mail-Benachrichtigung über die Einreichung seines Beitrags!

Beispiel für eine E-Mail-Benachrichtigung bei der Übermittlung eines Beitrags

Möchten Sie, dass das Post Submission Addon ein Benutzerprofil für Sie erstellt? Werfen Sie einen Blick auf unser Tutorial über die Erstellung eines Profilformulars mit Post Submissions.