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

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

  1. function the_content_Jump($content)
  2. {
  3. preg_match_all('/href="(http.*?)"/',$content,$matches);
  4. if($matches)
  5. {
  6. foreach($matches[1] as $val)
  7. {
  8. if(strpos($val,'://')!==false && strpos($val,'nofollow')===false && strpos($val,home_url())===false && strpos($val,'http://www.vlwx.com')===false )
  9. {
  10. $content=str_replace("href=\"$val\"", "href=\"".home_url()."/go?url=" .base64_encode($val). "\" ",$content);
  11. }
  12. }
  13. }
  14. return $content;
  15. }
  16. add_filter('the_content','the_content_Jump',999);

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

  1. <?php
  2. /*
  3. Template Name: 跳转页面
  4. @Link:www.vlwx.com
  5. */
  6. $old_url = $_SERVER["REQUEST_URI"];
  7. //检查链接中是否存在 ?
  8. $check = strpos($old_url, '?url=');
  9. //如果存在 ?
  10. if($check !== false)
  11. {
  12. //如果 ? 后面没有参数,如 http://www.vlwx.com/index.php?
  13. if(substr($old_url, $check+1) == '')
  14. {
  15. //可以直接加上附加参数
  16. $new_url = $old_url;
  17. }
  18. else //如果有参数,如:
  19. {
  20. $new_url = $old_url;
  21. }
  22. }
  23. else //如果不存在 ?
  24. {
  25. $new_url = "http://www.vlwx.com/go.html?";
  26. }
  27. $url = $new_url;
  28. $url = $_GET['url'];
  29. $a = '';
  30. 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?" ) {
  31. $b = $url;
  32. $b = base64_decode($b);
  33. }else{
  34. $b = "http://www.vlwx.com/";
  35. }
  36. ?>
  37. <!DOCTYPE HTML>
  38. <html>
  39. <head>
  40. <meta charset="UTF-8">
  41. <meta http-equiv="refresh" content="2;url=<?php echo $b; ?>">
  42. <title>正在跳转....</title>
  43. <style>
  44. 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)}}
  45. </style>
  46. </head>
  47. <body>
  48. <div class="loading">
  49. <div class="spinner-wrapper">
  50. <span class="spinner-text">LOADING...</span>
  51. <span class="spinner"></span>
  52. </div>
  53. </div>
  54. </body>

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

WordPress

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

2017-1-13 22:17:40

WordPress

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

2017-1-23 11:03:35

0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧
个人中心
私信列表
搜索