How to auto send email when publishing a custom post type in WordPress?

I’d like to have an email automatically sent out to my website’s subscribers when I publish a post for a specific custom post type. I was search and I’ve found a few plugins that will do this but only for regular posts (or for any post type that gets published, not allowing you to specify a particular post type). Any suggestions would be greatly appreciated!  Can anyone help me?

Brong Asked on October 21, 2016 in Programming.

Read more about internet marketing from here
Basic Components Of An Internet marketing plan

on April 15, 2018.
Add Comment
1 Answer(s)

Hi Mohi Uddin,
You can try this code although I haven’t test yet but I think this code will works for you.

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 ) )
$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 );

Thanks for your questions, If this code doesn’t works for you then let me know. I shall try to help you as soon as possible.

You can also see my website –

Silver Answered on October 21, 2016.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.