So senden Sie eine E-Mail-Benachrichtigung bei Veröffentlichung der Beitragsübermittlung

Einleitung

Möchten Sie eine E-Mail-Benachrichtigung an die Autoren senden, die einen Beitrag zur Einreichung eines Beitrags einreichen, wenn ihr Beitrag veröffentlicht wird? Wenn Sie ein Formular für das Add-on Beitragseinreichungen erstellen, können Sie den Status dieses Beitrags auf Entwurf oder Zur Überprüfung ausstehend setzen, wenn er eingereicht wird. Dies ermöglicht es dem Website-Administrator, den Artikel zu überprüfen, bevor er veröffentlicht wird. Wenn der Artikel veröffentlicht wird, erhält der Autor keine Benachrichtigung. Durch Hinzufügen eines kleinen Code-Snippets zu Ihrer Website können Sie jedoch einfach eine Benachrichtigung an den Autor senden, um ihn darüber zu informieren, dass sein Beitrag gerade veröffentlicht wurde.

In diesem Tutorial führen wir Sie Schritt für Schritt durch, wie Sie dies erreichen!

Erstellen eines Formulars für Beitragseinreichungen

Für dieses Tutorial haben wir bereits unser Gastbeitragsformular erstellt. Wenn Sie jedoch Hilfe beim Einrichten eines Formulars mit dem Add-on Beitragseinreichungen benötigen, besuchen Sie bitte diese Dokumentation. Dort finden Sie detaillierte Schritte zur Erstellung dieses Formulars.

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

Wir werden die Felder wie Beitragstitel, Hervorgehobenes Bild usw. zuordnen, aber wir werden auch den Beitragsstatus auf Zur Überprüfung ausstehend ändern, wenn eine Einreichung eingeht, damit wir den Beitrag vor der Veröffentlichung überprüfen können.

Setzen Sie den Beitragsstatus auf 'Zur Überprüfung ausstehend' oder 'Entwurf'

Festlegen der E-Mail-Benachrichtigung für Beitragseinreichungen

Als Nächstes ist es an der Zeit, den Code-Snippet hinzuzufügen, der dem Autor eine E-Mail sendet, wenn der Beitrag veröffentlicht wird. Dazu müssen Sie Ihrer Website einen Code-Snippet hinzufügen.

Wenn Sie Hilfe beim Hinzufügen von Code-Schnipseln zu Ihrer Website benötigen, sehen Sie sich dieses Tutorial an.

/**
 * 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' );

Dieser Snippet wird, sobald der Status Veröffentlicht für den Beitrag aktualisiert wird, nach dem Autor mit diesem Namen suchen. Wenn er gefunden wird, ruft er die E-Mail-Adresse ab, die diesem Benutzer zugeordnet ist, und sendet die im Snippet eingegebene Nachricht.

Ändern Sie die Nachricht nach Ihren Wünschen, wenn der Beitrag veröffentlicht wird

Sie können diese Nachricht, die an den Autor gesendet wird, nach Belieben ändern. In diesem Beispiel setzen wir den Betreff der E-Mail auf den Beitragstitel und fügen diesen Beitragstitel sowie seinen Permalink in die E-Mail-Benachrichtigung ein.

Hinweis: Wenn mehrere Autoren denselben Namen verwenden, wird dieser Snippet an den ersten gefundenen Namen gesendet.

Und das war's! Wenn der Beitrag veröffentlicht wird, erhält der Autor eine E-Mail-Benachrichtigung zu seiner Beitragseinreichung!

Beispiel für E-Mail-Benachrichtigung bei Einreichung eines Beitrags

Möchten Sie, dass das Add-on Beitragseinreichungen ein Benutzerprofil für Sie erstellt? Schauen Sie sich unser Tutorial Erstellen eines Profilformulars mit Beitragseinreichungen an.