今天逛別人博客,才知道WordPress竟然可以冒充博主發表言論(只要知道博主的郵箱就行),當然我就馬上去搜解決辦法,但是都是一堆很坑爹的文章,幾乎一模一樣,我把代碼加了進去,結果連我自己都評論不了了。

終於在iShare的博客找到了兩全其美的方法,方法來自zwwooooo

這是原來找到的坑爹的代碼

function z_user_check($incoming_comment) {
    $isSpam = 0;
    if ( trim($incoming_comment['comment_author']) == '这里填博主昵称' )   
        $isSpam = 1;
    if ( trim($incoming_comment['comment_author_email']) == '这里填博主邮箱')   
        $isSpam = 1;
    if(!$isSpam) return $incoming_comment;
    wp_die('请勿冒充博主发表评论!');
}   
global $user_ID;
if(intval($user_ID) == 0) add_filter( 'preprocess_comment', 'z_user_check' );  

這是zwwooooo修改過的代碼,把它扔到functions.php即可。

// 防止访客冒充博主发表评论, 原出处: ? edit by zwwooooo
function z_user_check($incoming_comment)
{
    global $user_ID; $isSpam = 0;
    if ( strtolower(trim($incoming_comment['comment_author'])) == '这里填博主昵称' )
        $isSpam = 1;
    if ( strtolower(trim($incoming_comment['comment_author_email'])) == '这里填博主邮箱')
        $isSpam = 1;
    if (!$isSpam || intval($user_ID) > 0) { return $incoming_comment; }
    else { wp_die('请勿冒充博主发表评论!'); }
}
add_filter( 'preprocess_comment', 'z_user_check' );