『bbpress』の設定方法と、全てのフォーラムに他のフォーラムのトピックも表示されてしまう件

記事の順番が前後しますが、思い立ったところからUP.

現在、2ちゃんねる(あ、「5ちゃんねる」か)や「Yahoo!みんなの感想」よりも秩序が保たれ、会員制サイトよりは気軽に誰でも書きこめるドラマの短レビューサイトをWordpressで作成中ですが、レビューフォーム以外に「もっと気軽に参加できる掲示板」も設置したい。

……と、探し始めたものの、これがなかなか見つからなくて沼にハマる……。

bbpress

経緯

1. WordPressプラグインで設置できる”bbpress”は、まず「掲示板」ではなくて「クチコミ投稿フォーム」候補としてダウンロードしたのですが、どうしても口コミフォームに欲しかったレイティング機能を埋め込むのが面倒臭そうで、一旦削除。

口コミフォームのために導入した”wpDiscuz”についてはまた別ページで。

2. その後、「掲示板」としてWordpressの普通のコメントフォームを使おうと思いつき、コメントフォームカスタマイズを行ってみたものの、希望している「数ページだけに同じコメント(フォームだけでは無く、コメント自体)を表示させたい」というスタイルがこの方法では叶いそうもないので却下。

コメントフォームカスタマイズについてはまた別ページで。

3. 評価も高かったことから”Asgaros Forum“を導入。これで行けると思っていたのだけれども、「ゲスト」の投稿フォームにアドレスどころか名前を書きこむ欄がない……(つまり元々、登録会員以外が投稿するように出来ていない)。却下。

“Asgaros Forum”自体は優れた掲示板プラグインだと思います。この設定方法についてはまた別ページで。

4. 結局”bbpress”を導入することになった。

bbpressの導入方法

導入はWordpressならば簡単です。

1. いつものように「プラグイン」→「新規追加」から”bbPress”を検索。「今すぐインストール」→「有効」

2. 「インストール済みプラグイン」一覧から”bbPress”の設定へ。

bbpressの基本設定方法(非会員制)

特に説明なく、「ユーザー登録なしで誰でも参加できる掲示板」の設定について説明します。

ユーザー登録する会員制フォーラムとして利用したい方は他のサイトを検索してみて下さい。

bbpress-1
1. 編集を無効にするまでの期限 10分(任意です。個人的にはこのくらいかなぁと思いました)

2. 投稿スロットル時間 10秒(既定のまま)

3. 匿名での投稿(会員登録制にしない場合はここにチェック)

4. 自動権限グループ 「登録済みの訪問者にフォーラムの役割「」を自動的に付与する」

この「」の中身が和訳の常でワケが解らない(笑)

要するに
「キーマスター」(つまり「私」、「管理者」)
「モデレーター」(権限グループでいうところの「編集者」)
「参加者」(権限グループでいうところの「投稿者」「寄稿者」)
「閲覧者」(権限グループでいうところの「購読者」)

ここを「閲覧者」に設定しないと、掲示板ユーザーに多くの権利が与えられなくなる。

5. 以下にチェック

・リビジョン
・お気に入り
・購読
・トピックタグ
・検索
・自動埋め込みリンク

「トピックタグ」は、管理人以外にトピックを立ててもらいたくない場合は外します。

「自動埋め込みリンク」は私は一応許可しましたが、これのせいで掲示板が荒れるようになる場合は外した方がいいかも。

「返信スレッドのルール」は返信ディスカッションで盛り上げたい場合はチェックをどうぞ。

後の部分は規定値のままにしています。

ラストの「Akismet を使用」にはチェック。

使い方

「フォーラム」はWordpressの管理ページ(ダッシュボード)から。「トピック」はダッシュボードからでもフォーラムからでも作ることができる。

私が使用させていただいているテーマ「Simplycity」では、ダッシュ―ボードの「フォーラム」→「新規作成」でも、固定ページでも、フォーラムを作ることが出来ます。

bbpress-2

「フォーラム」(掲示板)ができたら、クリックして、各フォーラムに「トピック」(話題)を投稿するだけ。

bbpress-3

全てのフォーラムに他のフォーラムのトピックも表示されてしまうという問題点

しかし、全て出来上がった時点で「Asgaros」では見なかった事態が……。

違うフォーラムに立てたトピックが、他のフォーラム冒頭にも全部表示されてしまうという……。なにこれ。

bbform-2

これじゃ、わざわざフォーラムごとに分けてトピック作っている意味がないですよね。で、ファイルを開けたりして散々悩んだけれども、”bbpress”の設定を見なおしてふと思った。フォーラムページにショートコードがないからか

各フォーラムページにショートコードを入れてみる

これは、全部のトピックが表示されているというよりも、「個別のフォーラムページが無い」状態なのかもしれません。いや、たぶん、そう。

ちなみに、”bbpress”のショートコード一覧はこちら

訳すとこんな感じです。

Forums フォーラム

[bbp-forum-index] – フォーラム全体のインデックス
[bbp-forum-form] – 新規に作成したフォーラムのページ
[bbp-single-forum id=$forum_id] – フォーラムのトピック(例: [bbp-single-forum id=32]のようにidを入れて使用)

Topics トピック

[bbp-topic-index] – すべてのフォーラムで最新の15のトピックを表示
[bbp-topic-form] – トピックの新規作成ページ
[bbp-topic-form forum_id=$forum_id] – 特定のフォーラムIDの「新しいトピック」を表示
[bbp-single-topic id=$topic_id] – 単一トピックを表示(例: [bbp-single-topic id=4096]のようにidを入れて使用)

Replies 返信

[bbp-reply-form] – 新規の返信フォーム
[bbp-single-reply id=$reply_id] – 単一の返信を表示(例: [bbp-single-reply id=32768]のようにidを入れて使用)

Topic Tags タグ

[bbp-topic-tags] – 全てのタグクラウドを表示
[bbp-single-tag id=$tag_id] – 特定のタグリスト一覧 (例: [bbp-single-tag id=64]のようにidを入れて使用)

それで、各フォーラムページに「特定のフォーラムIDの「新しいトピック」を表示」するショートコード([bbp-topic-form forum_id=$forum_各ページのID番号])を書きこんでみました。

が、解決せず。

トピックページの「topics.php on line 943」エラーを解決する

トピックページの方を見てみたら、編集ページの上にエラーの表示。

“~~plugins/bbpress/includes/admin/topics.php on line 943”???

topics.php on line 943エラー

全てのトピック編集にこのエラーが現れていたのでGoogleってみたら、ありがたいページに辿り着きました。

Wordpress4.7、bbPress2.5.12でエラー エラーメッセージ bbPressでトピックを作成した際、以下のエラーが発生。 Warning:sprintf():Too few arguments in ...../wp-content/plugins/bbpress/includes/admin/top...

WordPressのプラグインインストールから導入できるのは「bbPress2.5.12」だけなので、上記のページから「bbPress2.6」をダウンロードしてインストール。

無事にトピックページのエラーは解決しました。

結果

ここまでやっても全てのフォーラムに紐付いているトピックが全てのフォーラム冒頭に表示されてしまう現象を解決することはできず。

ただし、エラーを解決したところ、特定のフォーラムを表示した時は、そのフォーラムのトピックが一覧の一番上に表示されるようになりました。

bbpress-6

他ブログを見てみたところ、これはどうも仕様らしいので、とりあえずはこのまま使ってみます。

コメント

※アドレスは必須ではありませんがGravatarでアバター設定している方は記入しないと画像が出ません。(アドレスは表示されません)。キャプチャーにチェックの上、送信お願い致します。承認後表示されます。

内容をご確認の上、「送信」ボタンを押してください。