今天,看到了一篇文章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即可。
演示效果见本站