最近看到ZB有一个插件可以将外链看着还是那么回事,但源代码一看就是乱码的功能,表示我们的Wordpress也很需要,但找了半天没找到合适的。
好的是发现一个不错的教程,可以将外链自动转成内链,还顺便添加了nofollow标签,还给外链加了密。
首先,在你当前使用的主题的 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;
}
然后在网站根目录下新建个 link 的文件夹,在其中写个 index.php 的文件,内容如下(请保存为UTF-8):
<?php
$url = $_GET['url'];
$a = '';
if( $a==$url ) {
$b = "https://www.wzxiu.com/";
// echo 'true';
} else {
$b = $url;
$b = base64_decode($b);
}
//Template Name:链接跳转(有过度)
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="0.1;url=<?php echo $b; ?>">
<title>正在跳转....</title>
</head>
<body>
</body>
</html>
即可实现以上功能。
比如我这里放一个百度的链接:www.baidu.com 那么会自动转换成 www.wzxiu.com/link?url=aHR0cHM6Ly94eWluemhlLmNvbS8=(最后这一长串就是加密的百度网址)。
不同于市面上其他外链转内链还能看到外链,这个完全看不到外链。