WordPressのコメント通知メールに返信すると、コメントを書いた人のメールアドレスが表示されるのを防ぐ方法
WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになる。
コメントがついた時に、投稿者にコメントが来たという通知メールが届く。
その通知メールに、返信すると、コメントを書いた人のメールアドレスへの返信になってしまう。
投稿者同士のメールアドレスは知らせたくないのでこれを削除したい。
プラグインの Better Notifications for WordPress を使うことで実現できそうなのだが、プラグインにバグ(?)があり、それを修正しないと、適切に設定ができないので修正する方法を紹介。
バグは、誰に通知を送るのかを選ぶ時に、なぜか、権限ごとにしか選べない。例えば Author で選ぶと、投稿者全員に通知がいってしまう。
これを、著者のみへの通知とする。
functions.php へ記述
・Better Notifications for WordPressの設定の問題点を修正するため、管理画面で特定のページの時のみ、jsを上書きする
//Notificationsの選択肢のpost-author非表示を表示するよう上書きする。wp-plugin/bnfw/assets/js/bnfw.js
if ( 'post-new.php' == $pagenow ) { //現在の画面がNotificationsの時のみ function yuya_bnfw_overwrite() { ?> <script type="text/javascript"> jQuery(document).ready(function() { $notification = document.getElementByName(notification).value; if ( $notification === 'new-comment' ) { $( '#post-author' ).show(); //元々は非表示にされているが、これを上書きして表示させる }}); </script> <?php } add_action( 'admin_head-post.php', 'yuya_bnfw_overwrite', 20 ); }
これで、 Send to Author で、 Send this notification to the Author (著者にこの通知メールを送る)を選べるようになる。
Better Notifications for WordPress の設定
Notification For
New Comment (新しいコメント)
Additional Email Fields
チェックを入れて、返信メールアドレスや、送信者を入力する。
From Name and Email
差出人名、メールアドレス
Reply To
通知メールに「返信」した時の返信先
Send to Author
Send this notification to the Author(著者に通知を送る)チェック
Do not send this Notification to the User that triggered it(起点となった人には通知を送らない:つまり、「自分で自分の記事にコメントした場合」は通知を送らない)