前言

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

原来星铃丹的方法

直接去掉自动链接,修改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的网赚短链,或者配合自己的极短网域来自动短链,然后没有然后了。