特定のカスタム投稿タイプの投稿を公開すると、自分のWebサイトの購読者に自動的に電子メールが送信されます。私はこれを行うプラグインをいくつか見つけましたが、これは通常の投稿(または公開されるあらゆる投稿タイプ、特定の投稿タイプを指定することはできません)に対してのみです。任意の提案は大歓迎です!ありがとう。
transition_post_status
にフックして、ユーザーを取得し、すべてのユーザーにEメールを送信します。
テストされていないサンプルコード
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 );
}
おそらく Bcc
フィールドを使うべきです 。