WordPress默认并不会审核评论到底是不是博主发表的,如果有人知道博主的昵称和Email ,那么它使用这个昵称和Email,就可以成功的冒充博主发表评论,进而可能会欺骗其他访客。我测试了3种方法可以解决这个问题。
第一种 禁止访客用管理员的昵称或email 进行评论
修改评论回调函数用到的文件是function.php 如果主题有自己的评论文件则修改主题中的 如:本站修改主题中的comments-ajax.php
WordPress 3.0版本
用文本编辑器打开WordPress安装目录下的wp-comments-post.php,将以下代码(大概在70行左右):
if ( get_option(‘comment_registration’) || ‘private’ == $status )
wp_die( __(‘Sorry, you must be logged in to post a comment.’) ); |
替换成:
if (‘管理员昵称’ == $comment_author || ‘管理员邮箱’ == $comment_author_email)
wp_die(‘呵呵, 开玩笑吗?’); if ( get_option(‘comment_registration’) || ‘private’ == $status ) wp_die( __(‘Sorry, you must be logged in to post a comment.’) ); WordPress 2.9.2版本用文本编辑器打开WordPress安装目录下的wp-comments-post.php,查找并将以下代码(63行左右): if ( get_option(‘comment_registration’) || ‘private’ == $status->post_status )
wp_die( __(‘Sorry, you must be logged in to post a comment.’) ); 替换成: 以后博主要发表评论的话,请先登录。 效果图: 第二种 为管理员账号添加(管理员)注释 修改评论回调函数用到的文件是function.php 找到<div class=”comment-author”> 在后面添加 <?php if($comment->user_id == 1) echo ” <span style=’color:#666′ title=’lostphp.com’>(<span style=’color:#FF3333′>管理员</span>)</span>” ?> 如: |
效果图:
由于主题不一样,所以评论作者那里的代码也写的不太一样,一般的代码是
评论作者的标准代码:
<?php comment_author(); ?>
评论的ID:
<?php comment_ID(); ?>
评论的作者:
<?php comment_author(); ?>
评论者的链接:
<?php comment_author_link(); ?>
第三种 为管理员添加标签
修改评论回调函数用到的文件是function.php
找到<div class=”comment-author”>
在后面添加
<?php if($comment->user_id == 1) echo “<div class=’admin’><img src=’http://lostphp.com/wp-content/uploads/2011/02/admin1.gif’></div>” ?>
图片可以换成自己的路径,不换也可以
效果图: