wordpress纯代码怎么实现外链通过go界面进行url跳转?网站外链跳转时通过go界面进行对seo比较友好,可以避免权重的流失。
一般的wordpress主题模板都不会带这个功能,如果带了的可以选择忽略这篇文章,或者可以阅读这篇文章进行一定的学习,其实利用php代码可以实现这个功能。
其实,想要实现这个功能还是非常简单的,只需要两步操作即可完成。今天,云服务器网(yuntue.com)就教 大家如何实现纯php代码实现外链通过go进行跳转url。
第一步:创建php文件
首先在网站根目录创建一个go.php的文件,然后将如下代码复制到该php文件中。
<?php
$t_url = preg_replace('/^url=(.*)$/i','$1',$_SERVER["QUERY_STRING"]);
if(!empty($t_url)) {
preg_match('/(http|https):\/\//',$t_url,$matches);
if($matches){
$url=$t_url;
$title='页面正在安全跳转中,请稍候';
} else {
preg_match('/\./i',$t_url,$matche);
if($matche){
$url='http://'.$t_url;
$title='页面正在安全跳转中,请稍候';
} else {
$url='//yuntue.com/';
$title='参数错误,正在返回首页';
}
}
} else {
$title='参数缺失,正在返回首页';
$url='//yuntue.com/';
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="1;url='<?php echo $url;?>';">
<title><?php echo $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:#3498db}
.spinner-text {
position:absolute;
top:50%;
left:50%;
margin-left:-200px;
margin-top: 2px;
color:#fff;
letter-spacing:1px;
font-weight:700;
font-size:36px;
font-family:Arial}
.spinner {
position:absolute;
top:50%;
left:50%;
display:block;
margin-left:-270px;
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">页面正在安全跳转中,请稍候</span>
<span class="spinner"></span>
</div>
</div>
</body>
</html>
第二步:给外部链接加上go跳转
第二步操作也就是最后一步操作了,这步操作和上个步骤基本一样,也是复制下方的代码进行粘贴。
粘贴的位置为:本主题的functions.php文件中。
//给外部链接加上go跳转
add_filter('the_content','the_content_nofollow',999);
function the_content_nofollow($content)
{
preg_match_all('/<a(.*?)href="(.*?)"(.*?)>/',$content,$matches);
if($matches){
foreach($matches[2] as $val){
if(strpos($val,'://')!==false && strpos($val,home_url())===false && !preg_match('/\.(jpg|jepg|png|ico|bmp|gif|tiff)/i',$val)){
$content=str_replace("href=\"$val\"", "href=\"".home_url()."/go.php?url=$val\" ",$content);
}
}
}
return $content;
}