WordPressで記事が公開されたら指定のメールアドレス宛てに通知メールを送信する、という方法が紹介されていましたのでシェアさせていただきました。
記事公開と同時に管理者などへメール通知を出すことができますので、複数人で記事を更新するようなサイトで、しかもレビュー待ちからの公開手順を経ないような場合などには、特に便利なカスタマイズではないかと思います。
記事公開時に指定のアドレスにメール通知を送信
ご利用のテーマのfunctions.phpを開いて、以下のようなコードを追加します。※functions.phpの一番最後に足すと良いようです。
1 2 3 4 5 6 |
add_action( 'transition_post_status', function( $new_status, $old_status, $post ) { if ( 'publish' == $new_status && 'publish' != $old_status && 'sample' == $post->post_type ) { $header = array( 'From: from@example.com' ); wp_mail( 'to@example.com', $post->post_title, get_permalink( $post->ID ), $header ); } }, 10, 3 ); |
あとは投稿ページから記事を公開し、to@example.com
に指定したアドレス宛に通知メールが届くかどうかを確認します。
ちなみに送信されるメールの中身ですが、差出人はfrom@example.com
で指定したアドレス、メールの件名はpost_title(記事タイトル)、メールの本文にはget_permalink(記事のURL)が表示されるというシンプルなものです。
カスタム投稿タイプの記事が公開された時に通知メールを送信
通知メールの送信条件を特定の投稿タイプの記事に制限する場合は、以下のような記述になります。
1 2 3 4 5 6 |
add_action( 'transition_post_status', function( $new_status, $old_status, $post ) { if ( 'publish' == $new_status && 'publish' != $old_status && 'sample' == $post->post_type ) { $header = array( 'From: from@example.com' ); wp_mail( 'to@example.com', $post->post_title, get_permalink( $post->ID ), $header ); } }, 10, 3 ); |
2行目で‘sample’ == $post->post_typeを指定すると、sampleというカスタム投稿タイプの記事が公開された時だけ、指定のアドレス宛てに通知メールが送信されます。
参考ページ
https://ottan.xyz/wordpress-publish-mail-push-5145
コメント