制作会社から制作会社じゃない会社に転職が決まりました。制作会社で学んだことを残らず記事にしたいと思います。

パンDKOTORI Blogの公式キャラクター「パンD」です。
コーディングWordPressプラグインbbPressでメール通知する方法(トピック作成時、リプライ投稿時)

bbPressでメール通知する方法(トピック作成時、リプライ投稿時)

2016年01月15日WordPress プラグイン 便利コード 
bbPressでメール通知する方法(トピック作成時、リプライ投稿時)記事のアイキャッチ画像

フォーラム機能実装プラグイン「bbPress」でトピック作成時及びリプライ投稿時に管理者(や他のアドレス)にメール通知する機能を実装する方法を紹介します。

まえがき

この前、ある案件でサイトにフォーラム機能を実装することになり始めて「bbPress」というWordPressで簡単にフォーラム機能を実装できるプラグインを使用しました。

bbPress公式サイト

操作が簡単で非常に使いやすい印象を持ったのですが、デフォルトのままじゃ叶えられない要望が1点ありました。
「一般ユーザーのトピック作成時、及びリプライ投稿時に管理者にメール通知したい」

あれやこれや試した末、無事に希望通りの機能を実装できたのでその覚書です。
結論から書きます。

「subscribe2」プラグインでトピック作成時、リプライ投稿時のメール通知機能を実装

subscribe2」はもともとメルマガ発行につかわれるようなプラグインなのですが、更新通知機能も持っていて、今回はその機能に頼ります。

「bbPress」を有効化すると、下記のようにカスタム投稿タイプが追加されます。
bbPressで追加されるカスタム投稿タイプ

このそれぞれのカスタム投稿タイプがフォーラムやトピック、リプライに対応していて一般ユーザーが何か投稿すれば、ここの記事が増えていきます。
考え方としてはカスタム投稿タイプの記事が追加された時にメール通知してくれるという挙動が欲しいわけですね。

では実装していきます。
「subscribe2」はインストール・有効化しておいてください。(やり方は割愛します)

送信したいメールアドレスを登録

送信したいメールアドレスを登録します。ちなみに管理者には自動的にメールが送られるようになっているので管理者メアドに送れればいいということであれば、この項は飛ばしてください。

管理画面の「Subscribe2」から「Subscribers」をクリックして、表示されるフィールドに通知を送りたいメールアドレスを一行ずつ(またはカンマ区切りで)入力しましょう。
入力できたら「Subscribe」ボタンをクリックして登録します。
Subscribe2管理画面

これで下準備は完了です。

通知したいカスタム投稿タイプを指定する

デフォルトだと「投稿」か「ページ」しかメール通知してくれないので「bbPress」で追加したフォーラム・トピック・リプライの3つの投稿タイプでメール通知機能が有効になるように設定します。

テーマの中のfunctions.phpに以下のコードを追加してください。

//掲示板更新されたらメール通知
function s2_add_post_types($s2_post_types){
if(is_array($s2_post_types))
array_push($s2_post_types,'forum','topic','reply');
return $s2_post_types;
}
add_filter('s2_post_types','s2_add_post_types');

ハイライトしている4行目に「’forum’,’topic’,’reply’」と「bbPress」で追加された投稿タイプを指定しています。

これで設定は完了です。
テストしてみてメール通知がちゃんと機能するか確認してみてください。

まとめ

基本的に動作は満足なのですが1つ欲を言えば、送信するメールの内容に「どのトピックに対する返信なのか」や「トピックページへのリンク」を入れれたら最高なんですが、もともと「bbPress」用のプラグインじゃないのでしようがないですね笑

実は、「bbPress Notifications」プラグインという「bbPress」専用のメール通知プラグインがあるんですが、このプラグインはトピック作成時にしかメール通知してくれないので、今回は利用できませんでした。
その代わり、このプラグインだと「どのトピックに対する返信なのか」や「トピックページへのリンク」等がメールに入ってますのでより使いやすいと思います。

適宜選択してください。

シェアするみんなシェアしてね

フォローするフォローする

いつもKOTORI Blogをご覧いただきありがとうございます。Facebook、Twitterを通じて、皆様と交流していき色んな情報を共有していければな~と思ってます。お気軽に登録してください!

基本フォロー返します。

RSSを登録する

RSSはこちらから。

follow us in feedly

Feedly使ってる人はこちらから。

Buy me a Beer

動く!パンDのLINEスタンプ
好きな人にアプローチスタンプ
パンDのLINEスタンプ

関連する記事関連する記事も読んでみてね

コメント

  • 如月

    初めまして、如月と申します
    いきなりコメントすみません><
    いつもブログを拝見させて頂いてます。
    bbpressの書き込み通知機能の
    コードをコピペしてペーストしたのですが
    うまく作動しません><
    wordpress初心者の為
    皆目、検討もつかない状態です。
    失礼とは存じますが
    何がいけないのでしょうか?

    • kotoriblog

      如月さん
      コメントありがとうございます。
      カスタムポストタイプ名に間違いはないですか?
      それでも動かないなら
      最近WordPress触ってないのでバージョン等の問題で動かなくなったのかもしれませんね。。

      • 如月

        ご返信ありがとうございます。

        無事、解決致しました。

        取り乱してしまい申し訳ありません。

        違うfunctions.phpをいじってしまい

        迷走してしまっていました。

        • とぺこ

          はじめまして。便乗で質問させてください。
          私も、正常に動作せずに困っております。

          追記する functions.phpは
          どれになりますでしょうか?
          教えてください。

          宜しくお願いいたします。

          • kotoriblog

            とぺこさん
            初めまして。追記するfunctions.phpは
            お使いのテーマで使用しているfunctions.phpです。

          • とぺこ

            そうですよね。
            テーマは「Gush」というものを使っており、「Members Only」というプラグインで
            IDとパスワードがなければサイトにアクセスできないようにしています。
            それが影響しているのでしょうか・・。
            それとも設定がうまくいっていないのか・・。

            引き続き色々とやってみようと思います。
            ありがとうございます!

          • とぺこ

            できました!
            ありがとうございます!

            少し設定がわかりにくいところがあって検証してみたら
            なんとかうまくいきそうです!
            ありがとうございました。

          • kotoriblog

            とぺこさん
            ご報告ありがとうございます!!解決されたようでよかったです!
            良かったら、何が原因でうまく行かなかったかを共有いただけると非常に幸いです!