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/