このサイトにも自作のワードプレスプラグインやテーマのサポートフォーラムを設置してみようと思い bbPress について調べてみました
日本語の情報は少ないし古めの情報も多いのですが、それでも WordPress 用のフォーラムプラグインとしては一番情報も多く、日本語化されているし、使ったことがあるという方もたくさんいますので安心して使うことができます
ただ、テスト環境に bbPress を設置してみると、機能的に足りない部分も見受けられましたので、そのあたりの対応を含め bbPress の設置と使い方について紹介していきます
※足りない機能は bbPress forum utility pack プラグインを作成して補いました
久々のブログ記事ですが、かなり長文になりますので5ページに分割しました
今回の動作は下記環境で実行しています
- WordPress Ver4.6.1
- 使用テーマ : Celtis_s Ver 1.3.0
- 使用プラグイン : bbPress Ver2.5.11
- bbPress 拡張プラグイン bbPress forum utility pack
bbPress
WordPress Plugin : bbPress forum utility pack
bbPress フォーラムの準備
bbPress フォーラムは、フォーラム、トピック、返信の3つの基本要素から構成されています
Forum Root Page | +-- Forum 1 | | | + Topic 1 - Reply 1 - Reply 2 - Reply 3 | | | + Topic 2 - Reply 1 | | | | +-- Forum 2 | | | + Topic 1 - Reply 1 | | |
フォーラム | フォーラムは管理者が作成する特定のカテゴリーや製品等の分類で関連する情報を集める為のもので URL アドレスのサブディレクトリ名として使用されます |
トピック | トピックはフォーラムに属する話題や質問等の作成となり、会話や討論の起点となります |
返信(リプライ) | トピックとして投稿された話題や質問に対するアドバイや回答等を返信することで、返信をつなげることで会話や討論のやり取りが続いていきます |
※各要素に対してどのような操作ができるかユーザーに権限を設定することができます。匿名での投稿を許可した場合は、だれでもトピックの作成や返信を行うことが出来ますが、メンバー登録制の場合には、登録されたメンバーだけがトピックの作成や返信を行うことが出来るようになります
フォーラムを運営するにはスパムの防止対策が必要です。ユーザー登録制にすることでスパムの防止効果も期待できます
インストール
WordPress管理画面のプラグイン新規追加から簡単にインストールすることが出来ますので詳細は省略します
プラグインをインストールすると自動的に翻訳された日本語版になります
設定
インストールすると管理画面に フォーラム、トピック、返信 の項目が追加され、設定にも フォーラム が追加されるので、この設定の フォーラムを開き必要な設定を行います
ここではメンバー登録制フォーラムを運営することを想定した設定について紹介していきます
フォーラムユーザー設定
編集を無効にするまでの期限 | 投稿後の編集可能時間(一定時間経過後に編集操作ができなくなる) |
投稿スロットル時間 | 投稿間の最小時間(連続投稿スパム対策) |
匿名での投稿 | メンバー登録制で運用する場合は、匿名での投稿 は無効化して運用する |
自動権限グループ | 登録済みユーザーに自動的に指定したフォーラム権限を付与させることができます |
メンバー登録自体はワードプレスの基本機能を利用していますので、登録方法は2つあります
- 管理人が手動でユーザー登録を行う
- ユーザー登録画面からユーザーに自動的に登録していただく
どのようなメンバーを対象としたフォーラムにするかで変わってきますが、今回は不特定多数のサイト訪問者に広く参加して頂く為にユーザー登録画面からの自動登録とします
自動登録とする場合は以下の設定も必要となります
管理画面の 設定 → 一般 に自動登録用の設定があるので確認します
だれでもユーザー登録できるようにして、デフォルト権限を購読者にしておきます
ここで WordPress の権限グループとフォーラムの権限について紹介します。これらは別の権限ですので正しく理解しておく必要があります
Super Admin | 特権管理者 | マルチサイト内のすべての管理機能にアクセスできるユーザー |
Administrator | 管理者 | シングルサイト内のすべての管理機能にアクセスできるユーザー |
Editor | 編集者 | 他のユーザーの投稿を含むすべての投稿を発行、管理できるユーザー |
Author | 投稿者 | 自身の投稿を公開、管理できるユーザー |
Contributor | 寄稿者 | 自身の投稿を編集、管理できるが、公開できないユーザー |
Subscriber | 購読者 | 自身のプロフィール管理のみしかできないユーザー |
Keymaster | キーマスター | フォーラムの設定管理機能にアクセスでき、フォーラムを作成でき全てのフォーラムの編集ができます。他のユーザーのトピック、返信を含むすべての投稿を編集管理できます |
Moderator | 世話役 | 自身のフォーラムを作成編集することができます。他のユーザーのトピック、返信を含むすべての投稿を編集管理できます |
Participant | 参加者 | 自身のトピックや返信を作成編集することができ、既存のトピックに返信することができます |
Spectator | 傍観者 | トピックや返信を読むことができます |
Blocked | ブロック済 | すべての機能が明示的にブロックされます(ログインは出来るが閲覧不可となるので、スパマー等の再登録防止等で利用することができる) |
ワードプレスのブログとしての基本的な権限に追加する形でフォーラムの権限を付加します
※bbPress Ver2.5.11 でフォーラム権限グループの日本語翻訳に関する部分で変更があったようで、前のバージョンまで表示されていた日本語表記から英語表記に代わってしまいました。また日本語表記に戻る時があるかもしれませんので以前の日本語表記を併記しています
※フォーラムメンバーとして自動的に与えるのは、通常は最小限の購読者の権限とフォーラムに投稿可能な参加者(Participant)権限です。それ以上の権限を与えたいユーザーに関しては全て管理者による手動設定にしたほうが安全です
bbPress forum utility pack を使ったユーザー登録
だれでもユーザー登録できるようにするは、WordPress の標準機能による登録なので bbPress フォーラムメンバーを独自に区別して管理することが出来ないし、デフォルト権限を間違えて編集者や管理者にしてしまう可能性もありセキュリティ的にも非常に危ないと思われます
お勧めは bbPress forum utility pack プラグインを導入して自動登録の権限に制限を加えることで bbp_user という購読者と同じ権限でフォーラム権限に参加者(Participant)を安全に与えることができます
詳細は メンバーの登録方法について を参照してください
フォーラム機能
リビジョン | トピックおよび返信の変更履歴ログ(リビジョン)をとる場合に設定 |
お気に入り | ユーザーがトピックをお気に入りに登録するとユーザープロフィール画面にブックマークされるのでそこから簡単にアクセスできるようになります |
購読 | ユーザーがフォーラムやトピックを購読指定すると新規投稿があった場合にユーザーの登録済みメールアドレス通知されます |
トピックタグ | トピックにタグを追加できるようにします |
検索 | フォーラム全体の検索の許可 |
投稿の整形 | 投稿用エディタ上部にHTML 整形補助ツールバーボタンを表示 ※Image Upload for BBPress プラグインを使えば画像のアップロードとエディターのビジュアルモードも使えるようになります |
自動埋め込みリンク | 投稿への埋め込み(Youtube, Twitter, Flickr 等)を許可 |
返信スレッドのルール | 返信のスレッド(入れ子)形式表示の許可設定 |
どのようなフォーラムにするかにより機能の有効/無効を選択すればよいのですが、不特定多数の参加を想定するとリビジョンやトピックタグの管理は意外に大変なので私の場合はこの2つは無効化しました
スラッグの設定
フォーラムのパーマリンクとして使われるURL構造を決めるスラッグを設定します
スラッグの設定は、この設定が URL として使われますので必要に応じて変更することも可能ですが、基本的にデフォルトのままでよいと思います
特に大切なのはフォーラムルートです
フォーラムはここで指定したルートスラッグの下にフォーラム、トピック、返信、ユーザープロフィール等のフォーラムに関連する要素のスラッグを使ったサブディレクトリとしてパーマリンクが生成されます
まずは forums というスラッグを使い固定ページを新規に作成すると、このページ(//サイト名/forums/)がフォーラムルート(フォーラムのアーカイブインデックスページ)となります
また、登録したユーザーにとっては、ユーザープロフィールページ(//サイト名/forums/users/アカウント名/)がユーザーのホームページとなり、各種設定や作成したトピック、返信のリスト等を確認することができます
スパム対策(Akismet)
有名なスパム対策プラグインである Akismet を利用していれば、フォーラム設定ページの下部にフォーラム投稿のスパム対策に Akismet を使用するか設定が表示されます
いいやつばかりじゃないけど悪いやつばかりでもない (^^♪
ということでスパム防止にとても効果がありますので、忘れずに有効化しておきます
さらなる対策
bbPress 用の拡張プラグインでキャプチャ等を追加することでスパム対策を強化することができます。bbPress forum utility pack プラグインにも以下のスパム判定機能を実装してます
- 投稿に日本語が含まれているかによるスパム判定
- 投稿中に含まれる画像数によるスパム判定
- 投稿中に含まれる埋め込み数によるスパム判定
ここまで、基本的なフォーラムの設定を紹介しました (^^)
次は、実際にフォーラムを作りながらその手順を紹介します