Cum să trimiți automat email-uri la publicarea unui tip de postare personalizat?
Aș dori să trimit automat un email către abonații site-ului meu web atunci când public o postare pentru un anumit tip de postare personalizat (custom post type). Am găsit câteva plugin-uri care fac acest lucru, dar doar pentru postări obișnuite (sau pentru orice tip de postare care este publicată, fără a permite specificarea unui anumit tip de postare). Orice sugestii ar fi foarte apreciate! Mulțumesc.
Conectează-te la transition_post_status
, preia utilizatorii și trimite un email tuturor utilizatorilor.
Cod exemplu, netestat:
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( 'Salut, există o nouă postare!
Vezi <%s>',
get_permalink( $post )
);
wp_mail( $emails, 'Postare nouă!', $body );
}
Probabil ar fi bine să folosești câmpul Bcc
.

Mulțumesc foarte mult pentru ajutor, toscho! Am încercat codul tău și pare să funcționeze. Noroc!

@toscho sau furio, funcționează aproape perfect pentru mine, mulțumesc, știe cineva dintre voi cum să-l modific astfel încât fiecare utilizator să vadă că mesajul a fost trimis doar lui, nu și user1, user2, user3...

@Chuck Vezi actualizarea mea sau http://wordpress.stackexchange.com/a/45844/73.
