WordPress

【プラグインなし】bbPressで日本語を含まない投稿を拒否する

gt_gt_re

WordPressサイトにフォーラムを設置するのによく使われる、bbPress。

私のサイトではスパム対策としてreCAPTCHAを導入していますが、それをすり抜けてロシア語や韓国語のスパム投稿が入ってくることがあったので、日本語を含まない投稿を拒否するようにカスタマイズしました。

プラグインなしでカンタンに実装できるので、お困りの方は参考にしてください。

テーマファイルのfunctions.phpを編集

使用しているテーマのfunctions.phpを編集します。 以下のコードをコピペするだけでOKです。

function bbpress_block_non_japanese_topic_content($content) {
    if (!preg_match('/[\x{3040}-\x{30FF}\x{4E00}-\x{9FFF}]/u', $content)) {
        bbp_add_error('bbp_japanese_required', __('トピックの本文には日本語を含めてください。', 'textdomain'));
    }
    return $content;
}

function bbpress_block_non_japanese_reply_content($content) {
    if (!preg_match('/[\x{3040}-\x{30FF}\x{4E00}-\x{9FFF}]/u', $content)) {
        bbp_add_error('bbp_japanese_required', __('返信の本文には日本語を含めてください。', 'textdomain'));
    }
    return $content;
}

add_filter('bbp_new_topic_pre_content', 'bbpress_block_non_japanese_topic_content');
add_filter('bbp_new_reply_pre_content', 'bbpress_block_non_japanese_reply_content');

既成のWordPressテーマをご利用の方は、子テーマを使うなど、テーマアップデートの際にカスタマイズ内容が失われないように注意してください。

ABOUT ME
ガタガタ
ガタガタ
Webエンジニア/ライター
Web制作が大好き。絵を描いたりゲームをするのも大好き。
記事URLをコピーしました