关于简单wordpress评论链接跳转的四种方法,前面三种是我从网上找到的为了方便大家,我一起放了进来,第四种是我根据水煮鱼的Comments Link Redirect插件修改来的,好了,长话短说,直接上代码!

第一种方法

新建一个go.php文件,在go.php里面写入:<?php header("location:".$_GET["url"]); ?> 然后保存好。接着我们将go.php上传到wordpress根目录下。接下来进入到wordpress后台→外观→编辑,找到右侧的评论模板或模板函数点击进入,找到相应的评论链接的地方,如:

<a id="commentauthor-<?php comment_ID() ?>
" href="<?php comment_author_url() ?>
" rel="external nofollow" target="_blank">

只需要将这一段代码改成:

<a id="commentauthor-<?php comment_ID() ?>
" href="你的网址/go.php?url=<?php comment_author_url() ?>
" rel="external nofollow" target="_blank">

这样就完成了wordpress评论跳转。最后一点希望朋友们在做完这些以后,一定要在网站robots文件中加入Disallow: /go.php? 来屏蔽蜘蛛爬取。

第二种方法

和上一种方法大致相同,也是新建一个go.php文件,在go.php里面写入:<?php header("location:".$_SERVER['QUERY_STRING']); ?>,然后保存好。接着将go.php上传到wordpress根目录下。接下来进入到wordpress后台→外观→编辑,找到右侧的评论模板或模板函数点击进入,找到相应的评论链接的地方,如:

<a id="commentauthor-<?php comment_ID() ?>
" href="<?php comment_author_url() ?>
" rel="external nofollow" target="_blank">

只需要将这一段代码改成:

<a id="commentauthor-<?php comment_ID() ?>
" href="你的网址/go.php?<?php comment_author_url() ?>
" rel="external nofollow" target="_blank">

这样就完成了wordpress评论跳转。最后一点希望朋友们在做完这些以后,一定要在网站robots文件中加入Disallow: /go.php? 来屏蔽蜘蛛爬取。

第三种方法

比起上面两种,这第三种可能会麻烦一点,那我就一步步的来讲给大家。

1、新建一个文件夹起名会go,在go这个文件夹中新建index.php【利用默认首页设置】

2、再用DW打开go文件夹中的index.php,在里面加入以下代码保存:

<?php
$url = $_GET['url'];
Header("Location:$url");
?>

3、将go文件夹上传到wordpress根目录下,我们再进入wordpress后台,在wordpress后台→外观→编辑,找到右侧的评论模板或模板函数点击进入,找到相应的评论链接的地方,如:

<a id="commentauthor-<?php comment_ID() ?>
" href="<?php comment_author_url() ?>
" rel="external nofollow" target="_blank">

只需要将这一段代码改成:

<a id="commentauthor-<?php comment_ID() ?>
" href="你的网址/go/?url=<?php comment_author_url() ?>
" rel="external nofollow" target="_blank">

4、最后我们也一定要在网站robots中加入Disallow: /go 来屏蔽蜘蛛爬取。

第四种方法

直接在主题文件中找到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(){    
    $url = get_comment_author_url(); 
    $redirect = $_GET['r'];
    if($redirect){
        if(strpos($_SERVER['HTTP_REFERER'],get_option('home')) !== false){
            header("Location: $redirect");
            exit;
        }
        else {
            header("Location: $url");
            exit;
        }
    }
}

然后手工在 robots.txt 中添加一行以下代码即可:

Disallow: /?r=*

   主要功能是把留言者的链接和留言中链接的 URL 转化为一个跳转链接
   如:http://AAAAA.com/?r=http://BBBBB.com/

OK就这么简单。

但如果你想将评论上访客的链接点击以后重定向到自己的网站上,你也可以直接在主题文件中找到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;
        }
        else {
            header("Location: 这里填上你要转向的网站地址,要带http://哦");
            exit;
        }
    }
}

如果你觉得这个重定向到自己网站的方法修改麻烦的话,你也可以直接使用我爱水煮鱼的插件:

Comments Link Redirect【点击直接下载】,上传到插件激活即可。

已有 7 条评论

  1. 其实适合自己的都行了

    1. 微而 微而

      @Dzing嗯,我写出来其实也是为了方便大家。希望喜欢!

  2. 看看,学习了

  3. 合适自己的就行.......

    1. 微而 微而

      @一季花落欢迎回访!

  4. 佩服,佩服!

  5. Please let me know if you're looking for a article writer for your blog.
    You have some really great posts and I think I would be a good
    asset. If you ever want to take some of the load off, I'd
    love to write some material for your blog in exchange for a link back to mine.
    Please send me an email if interested. Regards!

添加新评论