2018.08.06

【bbpress】コメント通知メールの文章を変更する方法

こんにちは、ゾノ( @ozonosho )です。

今回の記事ではwordpressの掲示板プラグイン「bbpress」においてコメント通知メールの文章を変更する方法をご紹介します。

とても便利なコメント通知メール機能ですが、文章が英語表記になってしまったり、トピック作成者とコメント作成者で別々の内容のメールを送ることができなかったりと、標準設定のままではすこしだけ使いにくい面もあります。

そんなわけで、送信されるメールの文章をカスタマイズしたい方は今回紹介する方法を試してみてください。

bbpressでコメント通知メールの文章を変更する方法

実装は簡単で、下記の関数をfunctions.phpに追加してください。

function bbpress_mail_message_changed( $message, $reply_id, $topic_id, $user_id ) {

  $topic_author_id = bbp_get_topic_author_id($topic_id);

  if($user_id == $topic_author_id) { //自分の立てたトピックに新規コメントがあった場合
    $message = "あなたの投稿したトピック『" . bbp_get_topic_title($topic_id) . "』に新規コメントがありました。";
  } else { //自分のコメントしたトピックに新規コメントがあった場合
    $message = "あなたのコメントしたトピック『" . bbp_get_topic_title($topic_id) . "』に新規コメントがありました。";
  }
  $message .= "\r\n\r\n" . "トピックURL:" . bbp_get_topic_permalink($topic_id);

  return $message;

}
add_filter( 'bbp_subscription_mail_message', 'bbpress_mail_message_changed', 10, 3 );

bbpress側でメール本文を変更するためのフィルター「bbp_subscription_mail_message」を用意してくれているので、そこで文章を上書きします。
($messageに挿入された値がメールの文章になります)

トピック作成者とコメント作成者で送信内容を変えたい場合は、上記のとおり渡されたuser_idがトピック主かどうかを判別して分岐させてください。

ここでは簡単なメッセージ内容にしていますが「$reply_id」「$topic_id」「$user_id」の3つが引数として渡されているので、トピック主の名前を表示したり新規コメントの本文をメール内に全文表示したりすることもできます。

とても便利なフィルターなのでぜひ活用してみてください。

おわりに

以上、今回の記事ではwordpressの掲示板プラグイン「bbpress」においてコメント通知メールの文章を変更する方法を紹介させていただきました。

当サイトではWordPressのカスタマイズ依頼を請け負っています。実現したい機能・要望がある方はぜひ下記ページよりご相談ください。

あなたのサイトに理想の機能を実装!WordPressカスタマイズサービス

本サービスはあなたのWordPressサイトに理想の機能を実装するサービスとなります。 どのような機能・要望でも実現可能です! Wo......

→この記事を読む