【bbpress】投稿時に必須の「名前」「メールアドレス」欄を任意にする方法
こんにちは、ゾノ( @ozonosho )です。
今回の記事ではwordpressの掲示板プラグイン「bbpress」において投稿時に必須の「名前」「メールアドレス」欄を任意にする方法をご紹介します。
bbpressでユーザー登録機能を利用しない場合、デフォルトで入力必須の「名前」「メールアドレス」欄が不要なケースがあると思います。特にメールアドレスの入力は利用者の心理的ハードルを上げてしまうため、簡単な掲示板では不要に感じる方も多い気がします。
そんな方はぜひ今回紹介する方法を試してみてください。
bbpressで投稿時に必須の「名前」「メールアドレス」欄を任意にする方法
実装は簡単で、5分もあれば対応できます。
以下に手順を伝えます。
1.下の記述をしたphpファイルを作成する
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」とします。
2.作ったphpファイルを「plugins」フォルダに入れる
WordPressの「plugins」フォルダの中に「empty-anonymous-bbpress」フォルダを作り、その中に今回作成した「empty-anonymous-bbpress.php」ファイルを入れてください。
すると、wordpressの管理画面に作成したプラグインが表示されるので「有効」にすれば、「名前」「メールアドレス」欄の入力が任意になります。
3.入力項目を非表示にしたい場合は、phpかcssで対応する
このプラグインでは必須条件を解除するだけで、「名前」「メールアドレス」欄の表示は消えません。そのため、入力項目自体を非表示にしたい方は、直接phpから「名前」欄などを削除するか、cssで非表示にして対応してください。
おわりに
以上、今回の記事ではwordpressの掲示板プラグイン「bbpress」において投稿時に必須の「名前」「メールアドレス」欄を任意にする方法を紹介させていただきました。
当サイトではWordPressのカスタマイズ依頼を請け負っています。実現したい機能・要望がある方はぜひ下記ページよりご相談ください。