WPに記事をアップした際に指定したメールアドレスに対して通知を送る

静岡県富士市のホームページ制作
WPに記事をアップした際に指定したメールアドレスに対して通知を送る

※注意 この記事に書いてある方法を使うとエラーが起こるようになってしまいました。そのためあくまでも参考程度にしてください。

「WPに記事をアップした際に、指定したメールアドレスに対して通知を送りたい」

最近このような要望を受けました。

良い方法がないか探してみたところ、「Subscribe2」「Post Notification」というプラグインを見つけることができました。

そこで「Subscribe2」というプラグインを試してみたものの、私にとっては使い勝手が悪く、何よりも、記事を投稿した瞬間に500エラーが出てしまう(エラーは出るけど記事自体は投稿されている)現象が発生してしまいました。

何よりも、個人的にはあまりプラグインを使いたくないという思いがあり、他にプラグインを利用しない方法を探してみたところ、ありました。プラグインを使わず記事をアップしたときにメール通知する方法が。

WordPressで記事を投稿した瞬間に外部にメールを送信する方法

ここに書かれている内容がまさに今回やりたいと思っていた内容、そのままでした。

以下のコードをfunctions.phpに追加します。

add_action( ‘transition_post_status’, function( $new_status, $old_status, $post ) {
if ( ‘publish’ == $new_status && ‘publish’ != $old_status && ‘post’ == $post->post_type ) {
$header = array( ‘From: from@gmail.com’ );
wp_mail( ‘to@gmail.com’, $post->post_title, get_permalink( $post->ID ), $header );
}
}, 10, 3 );

from@gmail.com⇒送り元のメールアドレス

to@gmail.com⇒送り先のメールアドレス

以上を任意で書き換えてください。

ただこの状態だと、送られてきたメールが寂しい感じで若干分かりにくいため、以下のようにしてみました。

add_action( ‘transition_post_status’, function( $new_status, $old_status, $post ) {
if ( ‘publish’ == $new_status && ‘publish’ != $old_status && ‘post’ == $post->post_type ) {
$header = array( ‘From: from@gmail.com’ );
wp_mail( ‘to@gmail.com’,’新しい記事が投稿されました。’, $post->post_title, get_permalink( $post->ID ), $header );
}
}, 10, 3 );

「新しい記事が投稿されました。」という言葉を追加したのです。これによりメールが届いた時に少しわかりやすくなりました。

ちなみにですが、この方法は個人でWPを利用している際には必要のないことだと思います。

例えば、「複数人でWPを管理しており、誰かが記事をアップしたときにその記事の内容をチェックしたい」という場合には便利な機能だと思います。外注さんを使っているアフィリエイターにとっても便利な機能かもしれません。

今回の方法はfunctions.phpにコードを追加するだけのシンプルなものです。プラグインは使いません。ただしfunctions.phpを編集することになるため、必ずバックアップを取ってから編集することをおススメします。

タイトルとURLをコピーしました