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