Send email to author of the post when the custom post status changes to published

admin2025-06-06  13

I have this answer in reference :

It sends to all users.

I want to notify the author of the post only when author's custom post type gets published.

Please help thanks

I have this answer in reference :

https://wordpress.stackexchange/a/100657/145078

It sends to all users.

I want to notify the author of the post only when author's custom post type gets published.

Please help thanks

Share Improve this question asked Nov 7, 2018 at 15:53 user145078user145078
Add a comment  | 

1 Answer 1

Reset to default 0

This should work — make sure to change my_custom_type to the correct CPT slug:

add_action( 'transition_post_status', 'notify_author_on_publish', 10, 3 );
function notify_author_on_publish( $new_status, $old_status, $post ) {
    if ( 'publish' !== $new_status ||
        $new_status === $old_status ||
        'my_custom_type' !== get_post_type( $post ) ) {
        return;
    }

    // Get the post author data.
    if ( ! $user = get_userdata( $post->post_author ) ) {
        return;
    }

    // Compose the email message.
    $body = sprintf( 'Hey %s, your awesome post has been published!
    See <%s>',
        esc_html( $user->display_name ),
        get_permalink( $post )
    );

    // Now send to the post author.
    wp_mail( $user->user_email, 'Your post published!', $body );
}
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1749199480a317197.html

最新回复(0)