掲示板を簡単に設置出来るプラグインbbpressを試してみた

post-it
今回は簡単に掲示板機能が実装出来るプラグインbbpressを試してみました。
サイトに訪れてくれたユーザーに投稿してもらいたいが為です。

それならコメントでいいのでは?

でもそれだとある記事の下側にぶら下がるわけでしょ。
専用のページがほしかったわけですよ。
カテゴリーごとの投稿もほしかったし。

プラグインbbpressを早速インストール

プラグインの名前は「bbpress」
フォーラム(掲示板機能)を実装出来るものです。

ワードプレス 管理画面のプラグイン新規追加ページへいってください。

「bbpress」で検索
出てきました。最終更新が8時間前となっています。(2019年11月13日時点)
ほったらかしのプラグインでないので安心です。

インストールして有効にします。

設定

インストールして有効にすると管理画面の左メニューに「フォーラム」が出来てます。

設定はそこではなく、管理画面の左メニューの「設定」から「フォーラム」にいきます。

[フォーラムユーザー設定]は「匿名」にチェックを入れてあとはデフォルトにしときました。
「匿名」にチェックが入っていないとユーザー登録をしてログインをしないと投稿出来ない設定になります。

今回は誰でも気軽に投稿してほしいので「匿名」にチェックを入れました。

[フォーラム機能]
リビジョン、お気に入り、購読など色々ですありますが動作が重くなりそうなので全部はずしておきました。

そこから下は全部デフォルトのままにして「変更を保存」。

フォーラム作成

今度は管理画面の左メニューに「フォーラム」から新規作成(Add New)へ。
ここで普通に記事を書く感覚でフォーラムを作っていきます。

タイトルだけ入れれば公開は出来ますね。

右上の「フォーラムの属性」は種類を「フォーラム」にしておきます。
カテゴリーにすると管理人以外の一般ユーザーは投稿出来ないしくみになっているからです。

「ワードプレス口コミ」というタイトルで公開しました。

管理画面の左メニュー「フォーラム」の「フォーラム一覧」へ。

今作ったフォーラムが出来ています。
フォーラム名の下あたりにマウスオンすると「表示」が出てくるのでクリック。

まだ投稿ゼロの状態の「ワードプレス口コミ」の掲示板が出来ています。

適当に投稿してみましょう。
デフォルトでは「名前」「メールアドレス」が必須になってますね。

投稿してみました。

という事で一応出来てしまいましたが、「名前」は適当でもいいとしてメールアドレスが必須なのはちょっと面倒くさいと思いました。

これを解消する方法を探しましょ。

名前とメールアドレス必須を解除

こちらの記事を参考にさせていただきました。
https://bbp-customize.com/mandatory-release/

簡単なプラグインを作ってしまってそれで対応させます。
参考にさせてもらった記事のスクリプトを使います。

add_action( 'init', array( 'WPSE_Empty_Anonymous_Replies', 'init' ) );

class WPSE_Empty_Anonymous_Replies
{
static protected $name = 'nobody';
static protected $email = 'nobody@example.com';

static public function init()
{
add_filter( 'bbp_filter_anonymous_post_data',
array( __CLASS__, 'bbp_filter_anonymous_post_data' ),
11, 2 );
add_filter( 'bbp_pre_anonymous_post_author_name',
array( __CLASS__, 'bbp_pre_anonymous_post_author_name' ) );
add_filter( 'bbp_pre_anonymous_post_author_email',
array( __CLASS__, 'bbp_pre_anonymous_post_author_email' ) );
}

static public function bbp_filter_anonymous_post_data( $retval, $r )
{
if( self::$name === $r['bbp_anonymous_name']
&& self::$email === $r['bbp_anonymous_email'] )
{
// reset the input to skip writing cookies
$retval = array();

// trick to activate the IP flood check
$retval['bbp_anonymous_flood_check'] = '1';
}
return $retval;
}

static public function bbp_pre_anonymous_post_author_name( $name )
{
remove_filter( current_filter(), array( __CLASS__, __FUNCTION__ ) );
if( empty( $name ) )
$name = self::$name;

return $name;
}

static public function bbp_pre_anonymous_post_author_email( $email )
{
remove_filter( current_filter(), array( __CLASS__, __FUNCTION__ ) );
if( empty( $email ) )
$email = self::$email;

return $email;
}
}

これをempty-anonymous-bbpress.phpというファイル名で保存します。

自前プラグインのインストール

FTPソフトでwordpressの「wp-content/plugins」ディレクトリにempty-anonymous-bbpressフォルダを作り、そこにempty-anonymous-bbpress.phpをアップロードします。

そして管理画面から「インストール済みプラグイン」へ行くと見事、empty-anonymous-bbpressプラグインが・・・・出現するはずなんですが。

だめですね。

ちょっと調べました。

先ほどのempty-anonymous-bbpress.phpファイルに次のものを足します。

ファイルの冒頭に

Plugin Name: empty-anonymous-bbpress
Plugin URI:
Description: 自作プラグイン「bbpress」において投稿時に必須の「名前」「メールアドレス」欄を任意にする方法
Version: 1.0
Author:
Author URI:
License: GPL2

Plugin Name :プラグインの名称。
Description:管理画面の「インストール済みプラグイン」画面でのプラグインの説明文

これを足してもう一度アップロード。

出現しました!
「有効化」をクリック。

フォーラムの投稿画面へ

さっき投稿したところへ戻って新規投稿をします。
今度は「名前」「メールアドレス」欄はブランクのままです。

投稿出来ました。

投稿者名は「nobody」になってます。

後は「名前、メールアドレスは任意です」といった文言をつけ加えられればほぼ完成ですね。

それらのカスタマイズはまた今度別記事で。


以上「掲示板を簡単に設置出来るプラグインbbpressを試してみた」という記事でした。
気に入ってもらえたらシェアしてくれると嬉しいです。