Je souhaite qu'un courrier électronique soit automatiquement envoyé aux abonnés de mon site Web lorsque je publie une publication pour un type de publication personnalisé spécifique. J'ai trouvé quelques plugins qui le feront, mais uniquement pour les publications classiques (ou pour tout type de publication publié, ne vous permettant pas de spécifier un type de publication particulier). Toutes les suggestions seraient grandement appréciées! Merci.
Accédez à transition_post_status
, récupérez les utilisateurs et envoyez un courrier électronique à tous les utilisateurs.
Exemple de code, non testé:
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 );
}
Vous devriez probablement utiliser le champ Bcc
.