对WordPress评论里的链接的处理

前言

昨天有一个小家伙明目张胆的在评论里留网址,哎呀,这样可不好,现在这主题的评论是会自动链接网址的,这给搜索引擎的印象可不好。

原来星铃丹的方法

直接去掉自动链接,修改wp-includes下的某文件

注释掉:

add_filter( 'comment_text', 'make_clickable',9 );

这方法有效,但每次WordPress升级后都要重新修改;今天无意看到含有此功能的一个小插件,顿悟,原来可以如此:在模板的functions.php里加上这句代码就行了。 「记得要放在?>标记之前」

remove_filter('comment_text', 'make_clickable', 9);

外链转内链

星铃丹的方法太粗暴了,个人感觉不是很好,所以也有了现在外链转内链的做法,由于「馒头」同学问到,就放出来了,然后作者改为自己了。

把下面一串代码放到主题的functions.php里边,注意检车代码冲突,有可能你的主题自带了对链接处理的功能

add_filter('the_content','doufuru_the_go_url',999);//对文章内容的处理
add_filter('comment_text','doufuru_the_go_url',999);//对评论内容的处理
function doufuru_the_go_url($content){
    preg_match_all('/href="(.*?)"/', $content,$matches);
    if($matches){
        foreach($matches [1] as $val){
            if( strpos($val,home_url())===false ) $content =str_replace("href=\"$val\"", "href=\"" . get_bloginfo(‘wpurl’). "/go ?url=" .base64_encode($val). "\"",$content);
        }
    }
    return $content;
}// /go?url= 相当于 /go/index.php?url=

然后仅仅靠那段代码链接会变得无法访问。

你需要建立一个与'wp-admin'同级的'go'资料夹(也就是WordPress目录内新建一个go文件夹),然后望里边放一个'index. php',该'index.php'的代码为

<?php
    $url = $_GET[‘url’];
    $url = base64_decode($url);
    header(“Location:” . $url );
?> 

如果不喜欢base64的话那就吧带base64字眼的函数去掉

最后

这个转内链的可以可以自由发挥的,例如加入adf.ly的网赚短链,或者配合自己的极短网域来自动短链,然后没有然后了。

Last modification:July 30th, 2017 at 01:22 pm
If you think my article is useful to you, please feel free to appreciate

26 comments

  1. xilouqingzhu

    呵呵。。来学习了。不想折腾了....

  2. 馒头

    很多时候都需要链接。

    不对像我这种有双击文字转跳链接脚本的人来说没有 链接 没关系啊。
    〰〰〰〰〰〰〰〰〰〰〰

    1. Ryan
      @馒头

      我現在改了,改成自動內鏈了 :idea:

      1. 馒头
        @Ryan

        留别人的链接对SEO不好? 那我们名字的链接没事吧?
        是内链再自动跳转吗? 怎么弄的?

        试下 http://tieba.baidu.com/f?kw=firefox&tp=0

        1. Ryan
          @馒头

          已更新

          1. 馒头
            @Ryan

            刚刚发现 原来 wp 自己有 rel="nofollow",可是好像百度不管这个。。。

            1. Ryan
              @馒头

              這個不知道,還有這個跟主題有關的,有的主題自動nofollow

          2. 馒头
            @Ryan

            还要请教下:建立一个與wp-admin的go資料夾 ???

            1. Ryan
              @馒头

              打錯字了

          3. 馒头
            @Ryan

            好快的速度。谢谢。

        2. Ryan
          @馒头

          名字鏈接是直鏈的,有些人不乖,直接了當的打廣告,博客我不管,成人用品都有留過 :arrow: ,待會我更新一下這篇文章吧,把方法發出來

          1. 若水
            @Ryan

            恶意代码详情:http://zww.me/archives/25361

          2. 若水
            @Ryan

            小心点,大前端盗版主题被人注入恶意代码过,会上传数据库。

          3. 若水
            @Ryan

            原來是盜版的問題,什么意思?

            1. Ryan
              @若水

              這份主題是別人發給我的,加了幾段啃爹代碼

          4. 若水
            @Ryan

            这是wp默认页面,有的,只能说d8主题把系统默认设置给改了。http://www.rusu.ga/?p=1#comments

            1. Ryan
              @若水

              原來是盜版的問題

          5. 若水
            @Ryan

            其实留言不知道从多少版本开始,wordpress就自动默认nofollow了,国外还有专门插件去除评论栏nofollow属性的,还是5星好评。 :arrow:

            1. Ryan
              @若水

              我用D8主題之後轉門看過頁面代碼,真的沒有

  3. 李明

    我留言時不喜歡留鏈接的。 :cool:

    1. Ryan
      @李明

      oh,可以了謝謝李明同志

    2. Ryan
      @李明

      李明同志,你的外鏈工具不支持ru域名啊

  4. 优搜

    后台设置了超过1个链接就要审核、、、、我是不是太严格了。。

    1. Ryan
      @优搜

      一點都不嚴格

  5. 免费部落

    鄙视这些留非法链接的,不过加nofollow也可以

    1. Ryan
      @免费部落

      我還是喜歡沒有鏈接

Leave a Comment