为wordpress添加外链转内链页面(链接base64加密)

今天,看到了一篇文章WordPress外链跳转教程,兼容知更鸟暗箱下载和文章索引,就加以改进了。兼容淘宝客链接。
而且如果你站点的图片都放在图床,那么这个方法也可以隐藏图床的地址,是不是很酷!下面贴代码。
打开主题functions.php文件,加入下面的代码

function the_content_Jump($content)
{
	preg_match_all('/href="(http.*?)"/',$content,$matches);
	if($matches)
	{
		foreach($matches[1] as $val)
		{
			if(strpos($val,'://')!==false && strpos($val,'nofollow')===false && strpos($val,home_url())===false && strpos($val,'http://www.vlwx.com')===false )
			{
			$content=str_replace("href=\"$val\"", "href=\"".home_url()."/go?url=" .base64_encode($val). "\" ",$content);
			}
		}
	}
	return $content;
}
add_filter('the_content','the_content_Jump',999);

然后保存以下代码命名为go.php文件上传到主题的pages目录里

 <?php
/*
Template Name: 跳转页面
@Link:www.vlwx.com
*/
$old_url = $_SERVER["REQUEST_URI"]; 
//检查链接中是否存在 ? 
$check = strpos($old_url, '?url='); 
//如果存在 ? 
if($check !== false) 
{ 
//如果 ? 后面没有参数,如 http://www.vlwx.com/index.php? 
if(substr($old_url, $check+1) == '') 
{ 
//可以直接加上附加参数 
$new_url = $old_url; 
} 
else //如果有参数,如:
{ 
$new_url = $old_url; 
} 
} 
else //如果不存在 ? 
{ 
$new_url = "http://www.vlwx.com/go.html?"; 
} 
$url = $new_url;
$url = $_GET['url'];
$a = '';
if ($url == base64_encode(base64_decode($url)) &&$url !== $a &&$new_url !=="http://www.vlwx.com/go.html" &&$new_url !=="http://www.vlwx.com/go.html?" ) {
 $b = $url;
 $b = base64_decode($b);
}else{
 $b = "http://www.vlwx.com/";
}
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="2;url=<?php echo $b; ?>">
<title>正在跳转....</title>
<style>
body{background:#000}.loading{-webkit-animation:fadein 2s;-moz-animation:fadein 2s;-o-animation:fadein 2s;animation:fadein 2s}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-o-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}.spinner-wrapper{position:absolute;top:0;left:0;z-index:300;height:100%;min-width:100%;min-height:100%;background:rgba(255,255,255,0.93)}.spinner-text{position:absolute;top:41.5%;left:47%;margin:16px 0 0 35px;color:#BBB;letter-spacing:1px;font-weight:700;font-size:9px;font-family:Arial}.spinner{position:absolute;top:40%;left:45%;display:block;margin:0;width:1px;height:1px;border:25px solid rgba(100,100,100,0.2);-webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px;border-left-color:transparent;border-right-color:transparent;-webkit-animation:spin 1.5s infinite;-moz-animation:spin 1.5s infinite;animation:spin 1.5s infinite}@-webkit-keyframes spin{0%,100%{-webkit-transform:rotate(0deg) scale(1)}50%{-webkit-transform:rotate(720deg) scale(0.6)}}@-moz-keyframes spin{0%,100%{-moz-transform:rotate(0deg) scale(1)}50%{-moz-transform:rotate(720deg) scale(0.6)}}@-o-keyframes spin{0%,100%{-o-transform:rotate(0deg) scale(1)}50%{-o-transform:rotate(720deg) scale(0.6)}}@keyframes spin{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(720deg) scale(0.6)}}
</style>
</head>
<body>
<div class="loading">
 <div class="spinner-wrapper">
 <span class="spinner-text">LOADING...</span>
 <span class="spinner"></span>
 </div>
</div>
</body>

进入网站后台新建一个页面,模板选择跳转页面链接改为go.html
其中:&& strpos($val,'http://www.vlwx.com')===false是我加入排除的域名,go.html是我页面的链接。
注:有人同学没开启页面伪静态,那也没有关系,把以上代码中的go.html改为你新建页面链接如go即可。
演示效果见本站

给TA打赏
共{{data.count}}人
人已打赏
WordPress

纯代码实现WordPress插件simple-urls短网址跳转功能

2017-1-13 22:17:40

WordPress

WordPress超过一定时间的老文章自动显示自定义信息

2017-1-23 11:03:35

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
有新私信 私信列表
搜索