Come inviare automaticamente email alla pubblicazione di un custom post type?
Vorrei che venisse inviata automaticamente un'email ai sottoscrittori del mio sito web quando pubblico un post di uno specifico custom post type. Ho trovato alcuni plugin che lo fanno ma solo per i post regolari (o per qualsiasi tipo di post che viene pubblicato, senza permettere di specificare un particolare post type). Qualsiasi suggerimento sarebbe molto apprezzato! Grazie.

Agganciati a transition_post_status
, recupera gli utenti e invia un'email a tutti gli utenti.
Codice di esempio, non testato:
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( 'Ehi, c\'è un nuovo articolo!
Vedi <%s>',
get_permalink( $post )
);
wp_mail( $emails, 'Nuovo articolo!', $body );
}
Probabilmente dovresti usare il campo Bcc
.

Grazie mille per l'aiuto toscho! Ho provato il tuo codice e sembra funzionare. Saluti!

@toscho o furio, questo funziona quasi perfettamente per me, grazie, qualcuno di voi sa come modificarlo in modo che ogni utente veda solo che è stato inviato a loro, non a user1, user2, user3...

@Chuck Vedi il mio aggiornamento o http://wordpress.stackexchange.com/a/45844/73.
