讓 bbPress 完全實現匿名化交流,刪除必須輸入郵箱功能。

標籤: 

正在檢視 2 個帖子:1-2 (共 2 個帖子)
  • 作者
    帖子
  • 小新
    • 文章數量: 354
    @xiaoxin
    樓主

    在 WordPress 使 「空匿名的 bbPress」 資料夾中的 「外掛」 資料夾,請把已建立此時進入它的 「空匿名 bbpress.php」 檔案。任何檔名都可以,但是在這裡我們會說 「empty-anonymous-bbpress.php」 。

    詩語
    管理員
    • 文章數量: 5,925
    @feibisi
    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;
            }
    }
正在檢視 2 個帖子:1-2 (共 2 個帖子)
  • 哎呀,回覆話題必需登入。

話題資訊

  • 當前位於:bbPress
  • 1 條回覆
  • 2 個參與人
  • 最後回覆:<a href="https://bbs.weixiaoduo.com/users/feibisi/" title=" 檢視詩語的個人資料" class="bbp-author-link"><span class="bbp-author-name"> 詩語</span></a>
  • 上次活動:<a href="https://bbs.weixiaoduo.com/topic/23466/#post-23486" title=" 回覆至:讓 bbPress 完全實現匿名化交流,刪除必須輸入郵箱功能。">7 年、 4 月前</a>