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