WordPress的几种添加跳转内链的处理方式
受不了的广告和spam,决定加个跳转页一抹黑.下面介绍几个方法,也当笔记也当教学. 演示请看 传送门
第一种:如果只是简单的跳转,使用下面的代码
<?php function redirect($url) { if(headers_sent()) { return false; } if(substr($url, 0, 4) != 'http') { $schema = $_SERVER['SERVER_PORT'] == '443' ? 'https' : 'http'; $host = strlen($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']; $url = "$schema://$host$to"; } header("HTTP/1.1 301 Moved Permanently"); // header("HTTP/1.1 302 Found") // header("HTTP/1.1 303 See Other") header("Location: $url"); exit(); } $url = $_REQUEST['url']; redirect($url); ?>
第二种:如果实现评论跳转,改wordpress吧.打开functions.php
//评论跳转 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').'/?r=', $text); $text=str_replace("href='", "href='".get_option('home')."/?r=", $text); return $text; } add_action('init', 'redirect_comment_link'); function redirect_comment_link(){ $redirect = $_GET['r']; if($redirect){ if(strpos($_SERVER['HTTP_REFERER'],get_option('home')) !== false){ header("Location: $redirect"); exit; } else { header("Location: http://30c.org"); exit; } } }
第三种:把评论和外链都改成url格式
//评论链接url跳转 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="', 'target="_blank" href="'.get_option('home').'/go.php?url=', $text ); $text=str_replace("href='", "target='_blank'href='".get_option('home')."/go.php?url=", $text ); return $text; } add_action('init', 'redirect_comment_link'); function redirect_comment_link(){ $redirect = $_GET['r']; if($redirect){ if(strpos($_SERVER['HTTP_REFERER'],get_option('home')) !== false){ header("Location: $redirect"); exit; } else { header("Location: http://30c.org/"); exit; } } }
当然如果你主题的functions.php文件中本来就有<?php comment_author_url() ?> ,那么你只要找到类似下面的代码,将其中的
<?php if (get_comment_author_url()) : ?> <a id="commentauthor-<?php comment_ID() ?>" href="<?php comment_author_url() ?>"> <?php else : ?> <span id="commentauthor-<?php comment_ID() ?>"> <?php endif; ?> <?php comment_author() ?> <?php if(get_comment_author_url()) : ?> </a> <?php else : ?> </span> <?php endif; ?>
将代码中的<?php comment_author_url() ?>
修改成:/go.php?url=<?php comment_author_url() ?>
,当然go.php你也可以按照自己的想法自由修改的.
go.php 下载传送门 解压密码 http://30c.org
本站的最终修改方法不同于任何以上一种,具体请参看 给WordPress添加上外链转内链的方法 ,还有跳转页的缩略图添加方法文章 给你的网站加上指定域名显示在线缩略图功能.
另外如果你想破解在线缩略图的广告,请参看 如何简单破解shrinktheweb的缩略图跳转广告
分享到: | |
怎样添加文章内链呢?通过修改代码方式怎么实现?
很久之前研究过,忘了.推荐用插件吧
不能下载了。请给个新的下载地址吧。
正好需要,学习了!
在后台我看到有,只是这样一个功能,有评论时邮件通知管理,没有通过用户的功能,
就像你这评论下方,提交评论上面一点那个,可以勾选的那功能
偷偷的告诉你,下面的那些话都是我自己写的.
博主你好,想问下如何实现像你的评论下方这样的功能,用户评论后,博主回复了会邮件通知用户这一功能,
这个是wp自带的,你在后台设置评论就有了