it-swarm.com.de

Wie kann ich beim Veröffentlichen eines benutzerdefinierten Beitragstyps automatisch E-Mails senden?

Ich möchte, dass eine E-Mail automatisch an die Abonnenten meiner Website gesendet wird, wenn ich einen Beitrag für einen bestimmten benutzerdefinierten Beitragstyp veröffentliche. Ich habe ein paar Plugins gefunden, die dies tun, aber nur für reguläre Beiträge (oder für jeden Beitragstyp, der veröffentlicht wird, ohne dass Sie einen bestimmten Beitragstyp angeben können). Anregungen wäre sehr dankbar! Vielen Dank.

2
furio

Hängen Sie sich in transition_post_status ein, rufen Sie die Benutzer ab und senden Sie eine E-Mail an alle Benutzer.

Beispielcode, nicht getestet:

add_action( 'transition_post_status', 'send_mails_on_publish', 10, 3 );

function send_mails_on_publish( $new_status, $old_status, $post )
{
    if ( 'publish' !== $new_status or 'publish' === $old_status
        or 'my_custom_type' !== get_post_type( $post ) )
        return;

    $subscribers = get_users( array ( 'role' => 'subscriber' ) );
    $emails      = array ();

    foreach ( $subscribers as $subscriber )
        $emails[] = $subscriber->user_email;

    $body = sprintf( 'Hey there is a new entry!
        See <%s>',
        get_permalink( $post )
    );


    wp_mail( $emails, 'New entry!', $body );
}

Sie sollten wahrscheinlich das Feld Bcc verwenden .

13
fuxia