ワードプレスで短すぎるコメントや特定の文字列を含むコメントを禁止するPHPコードをご紹介します。このコードは作成されているプラグイン、もしくはテーマのFunctions.phpに記載いただくと動作します。


文字数が少なすぎるコメントを禁止し、禁止ワードがある場合はその禁止ワードを強制的に置き換えます

add_filter( 'preprocess_comment', 'my_check_comment_function' );
  
function my_check_comment_function($comment) {
    //短すぎるコメントを禁止
    if ( mb_strlen( $comment['comment_content'] ) < 10 ) {
        wp_die('コメントが短すぎます');
    }
    //禁止語句を含んでいた場合は*****に置き換える
    $denywords = array("あああ","いいい","ううう");
    foreach($denywords as $word){
        $comment['comment_content'] = str_replace($word,"******",$comment['comment_content']);
    }
    return $comment;
}

早速コードを見ていきましょう。
add_filter( ‘preprocess_comment’ でワードプレスのコメント処理に割り込みます。この関数には$comment 構造体が渡され、$comment[‘comment_content’] にユーザーが投稿したコメント本文が含まれています。

mb_strlen( $comment[‘comment_content’] ) < 10 で10文字以下の場合、’コメントが短すぎます’というエラーを表示して処理を停止します。

次に $denywords変数の配列のリストに入っている言葉を str_replace 関数で ****** に置き換えてしまい、$comment[‘comment_content’]に再度入れ込み、return $commentで返すと、そのコメントが投稿される形になります。

※”あああ”,”いいい”,”ううう” の部分は任意の禁止語句に変更したり、削ったり、追加したりしてください。

ご参考になりましたら幸いです。

WordPress ワードプレスのテーマやプラグインの作成、カスタマイズ、PHPコーディングのご依頼・ご相談はWPドクターまでお気軽にお送りください。