bbpressで投稿時に必須の「名前」「メールアドレス」欄を任意にする方法

  • ̃Gg[͂ĂȃubN}[Nɒlj

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で非表示にして対応してください。

おまけ:実際にカスタマイズした掲示板を紹介

このbbpressってやつは機能的にはとても優れているけれど、カスタマイズに関しての参考記事が(日本語だと)ほとんど無いため、少しでも何かを残せればと思います。何か分からないことがあれば、気軽に聞いてください☆

ちなみに、僕の運営するサイト「集え!過食女子」では、ユーザー登録をしない形で掲示板を実装しています。

▽「集え!過食女子」の掲示板を見てみる
http://kasyoku-joshi.com/bbs/kasyoku-nayami/

ゾノについて

おすすめブログはこちら

  • ̃Gg[͂ĂȃubN}[Nɒlj

このブログと一緒によく読まれているブログ

コメントを残す

メールアドレスが公開されることはありません。

全1件のコメント

  1. hll 2016年8月8日 7:29 PM

    jgkgk

  • 検索

ページTOP