WordPress 无需插件外链加密转内链
如何免插件实现WordPress外链转内链呢?开始看到很多博客的相关方法,如何实现WordPress无需插件外链转内链,
不过大多数要么就是加入了 base64 将源链接加密,很复杂,或者还有加上了 nofollow,然蜘蛛不在爬行,
那些教程方法都很复杂,这里无崖子分享一下优化了的代码,直接实现WordPress无需插件外链转内链,并且带base64 将源链接加密,
首先,在你当前使用的主题的 functions.php 中加入以下代码:
// 自动给文章的外部链接添加nofollow属性(纠正外链图片暗箱功能失效)
add_filter('the_content','web589_the_content_nofollow',999);
function web589_the_content_nofollow($content){
preg_match_all('/href="(http.*?)"/',$content,$matches);
if($matches){
foreach($matches[1] as $val){
if( strpos($val,home_url())===false && !preg_match('/\.(jpg|jepg|png|ico|bmp|gif|tiff)/i',$val))
$content=str_replace("href=\"$val\"", "rel=\"nofollow\" href=\"" . get_bloginfo('wpurl'). "/link?url=" .base64_encode($val). "\"",$content);
}
}
return $content;
}
// 自动给文章的外部链接添加nofollow属性
然后在网站根目录下新建个 link 的文件夹,在其中写个 index.php 的文件,内容如下(请保存为UTF-8):
$url = $_GET['url'];
$a = '';
if( $a==$url ) {
$b = "https://fulivv.com/";
// echo 'true';
} else {
$b = $url;
$b = base64_decode($b);
}
//Template Name:链接跳转(有过度)
?>
正在跳转....即可完美实现WordPress无需插件外链转内链。