当前位置:秋硕笔记 > 记录 > 正文

WordPress外链自动添加GO跳转页面

首先是添加文件

新建一个文件,取名为index.php,将下列代码复制到其中;并在网站根目录新建一个文件夹,取名为go;将index.php上传至根目录下的go文件夹。

代码如下:

384 ||
strpos($_SERVER['REQUEST_URI'], "eval(") ||
strpos($_SERVER['REQUEST_URI'], "base64")) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
//通过QUERY_STRING取得完整的传入数据,然后取得url=之后的所有值,兼容性更好
$t_url = htmlspecialchars(preg_replace('/^url=(.*)$/i','$1',$_SERVER["QUERY_STRING"]));

//此处可以自定义一些特别的外链,不需要可以删除以下5行
foreach($cars as $k=>$val){
if($t_url==$val[0] ) {
$t_url = $val[1];
$t_vip = 1;
}
}

//数据处理
if(!empty($t_url)) {
//判断取值是否加密
if ($t_url == base64_encode(base64_decode($t_url))) {
$t_url = base64_decode($t_url);
}
//对取值进行网址校验和判断
preg_match('/^(http|https|thunder|qqdl|ed2k|Flashget|qbrowser):\/\//i',$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 = 'http://'.$_SERVER['HTTP_HOST'];
$title='参数错误,正在返回首页...';
}
}
} else {
$title = '参数缺失,正在返回首页...';
$url = 'http://'.$_SERVER['HTTP_HOST'];
}
?>








<?php echo $title;?>


3

一万年太久,只争朝夕

立即前往





这时候就可以手动添GO页面跳转了,格式如下:
xxx.com/go/?url= 123.com
其中,xxx.com为自己网站的域名,123.com为跳转目标网站。

但是一个个去添加会不会很麻烦,毕竟我这么懒, 毕竟我这么忙,全自动化的话多好。

接下来就是自动识别网站文章内的外链,并添加GO跳转的代码:

将以下代码添加入正在使用主题的functions.php文件当中:

//文章内的外链添加跳转页面
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/?url=$val\" ",$content);
}
}
}
return $content;
}
add_filter('the_content','the_content_nofollow',999);

如果需要评论者的链接也使用GO跳转页面的话,则需要将以下代码当中添选取一种,加入正在使用主题的functions.php文件当中即可:
第一种:

//评论者链接添加go跳转
add_filter('get_comment_author_link', 'add_redirect_comment_link', 5);
add_filter('comment_text', 'add_redirect_comment_link', 99);
function add_redirect_comment_link($text = ''){
$text=str_replace('href="', 'href="'.get_option('home').'/go/?url=', $text);
$text=str_replace("href='", "href='".get_option('home')."/go/?url=", $text);
return $text;
}

第二种:

//评论者链接添加go跳转
function add_redirect_comment_link($text = ''){
$text=str_replace('href="', 'href="'.get_option('home').'/go/?url=', $text);
return $text;
}
add_filter('get_comment_author_link', 'add_redirect_comment_link', 5);
add_filter('comment_text', 'add_redirect_comment_link', 99);

评论者链接添加go跳转的代码只需要添加一种即可。到此就能实现WordPress外链添加GO跳转页面的功能了。

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏

评论抢沙发