WordPress实现评论链接跳转方法

海外服务器 (540) 2015-11-25 13:49:03

在垃圾评论泛滥的年代,无数站长都在寻找对策。虽然有许多很好的垃圾评论过滤插件,但还是无法完全避免垃圾评论,尽管WordPress中评论作者的URL有带nofollow,但nofollow的作用到底怎样,谁也无法完全了解。对此有一个不错的方法,就是添加评论URL跳转,再使用robots.txt来阻止搜索引擎,目前的搜索引擎几乎都遵守robots协议。

 

第一步:

在你的主题模版文件夹下找到functions.php文件,打开后在下面加入如下代码:

//comments link redirect

add_filter('get_comment_author_link', 'add_redirect_comment_link', 5);

add_filter('comment_text', 'add_redirect_comment_link', 99);

function add_redirect_comment_link($text = ''){

$text=str_replace('href="', 'href="'.get_option('home').'/?r=', $text);

$text=str_replace("href='", "href='".get_option('home')."/?r=", $text);

return $text;

}

add_action('init', 'redirect_comment_link');

function redirect_comment_link(){

$redirect = $_GET['r'];

if($redirect){

if(strpos($_SERVER['HTTP_REFERER'],get_option('home')) !== false){

header("Location: $redirect");

exit;

}

}

}

 

第二步:修改WordPress文件

1.打开/wp-includes/comment-template.php文件

2.找到以下代码

$return = "<a href="$url" rel="external nofollow">$author</a>";

3.修改成

$return = "<a href='http://www.你的域名.com/jump/?url=$url' rel='external nofollow' class='url'>$author</a>";

OK,就这样把修改后的文件覆盖原来的文件,刷新一下页面你将看到链接已经修改成跳转形式的了,不信的话你可以在本文下方评论一条,填写名称、邮箱和网址,看看你的用户名链接是不是已经是“你的域名/?r=你输入的网址”?

是不是感觉很简单?下面几点修改的注意事项:

1、如果你选择了另外的主题就请在你主题文件夹下的functions.php里修改,改根目录的那个或者相关的评论文件没用;

2、在修改之前一定要先将原文件备份,如果改错了还可以还原;

3、在修改好后请在你的robots.txt中增加一条

Disallow: /?r=*

这样做的目的是让这个链接不被搜索引擎收录,他仅仅只是个跳转链接而已,没有页面。

THE END