Wordpress Spam Comment Filter

时间:2021-10-20 作者:Imran Hossan

我想过滤wordpress评论!!

我对Php知之甚少。我写了一个简单的代码来过滤垃圾评论。但是,我失败了。低于我的代码!你能帮帮我吗?

    add_action(\'pre_comment_on_post\', \'comment_spam_pro\');
function comment_spam_pro() {
    $cbox = $_POST["comment_field"];
    $spam = array(\'href\',\'[url\',\'spamword\');    
    if(array_key_exists($spam,$cboc)) {
        wp_die(\'Spam Comment Detect!!\');
    }
}

1 个回复
最合适的回答,由SO网友:propz 整理而成

As said in this comment, WordPress有一些缓和评论的可能性,还有一些防止垃圾邮件的好插件。

然而,如果我理解正确的话,你会在评论到达数据库之前阻止评论的发布。

我想我已经找到了解决办法。查看函数的代码。php。

function preprocess_comment_spam( $commentdata ) {

    $spamwords = array( \'href\', \'[url\', \'spamword\' );

    foreach( $spamwords as $spam ) {

        if ( \\strpos( $commentdata[\'comment_content\'], $spam ) !== false ) {
            wp_die(\'Sorry, we detected some spam.\'); // This is the Error Notice for Wordpress.
            /*return new WP_Error( \'spam_detected\', __( \'Sorry, we detected some spam.\' ), 403 );*/
        }
    }

    return $commentdata;
}
add_filter( \'preprocess_comment\' , \'preprocess_comment_spam\' );
我没有测试代码,但它应该可以工作。

这里有有关此筛选器的更多信息:https://developer.wordpress.org/reference/hooks/preprocess_comment/