让WordPress 评论者链接在新窗口中打开

WordPress默认的评论链接是在当前页面打开的,这样就容易把浏览者引出你的博客,如果能在新窗口打开评论者的链接将是最好的选择。下面是万戈博客上的代码,转过来与大家分享:

WordPress 程序源码写的很规范,符合 W3C 的 xhtml1-strict.dtd 标准。比说,让评论者链接在新窗口中打开,Wordpress 用的是 rel="external",而不是 target="_blank"。符合规范,这当然是好事啦,但是我们知道仅凭 rel="external" 是不能独自完成在新窗口打开的任务的,还需要一个 external.js 配合才行,而 WordPress 源程序中并没有包含 external.js 这个文件,也很少有主题将这个脚本纳入其中。

这里提供两种方案使 WordPress 评论者的链接在新窗口打开。

方法一:用 rel="external" 实现。

1、将以下代码另存为 external.js 文件。

function externallinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external nofollow")
anchor.target = "_blank";
}
}
window.onload = externallinks;

2、然后将 external.js 文件上传到主题根目录下,并用以下方式调用。

<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/external.js"></script>

方法二:用 target="_blank" 实现。(转自 荒野无灯,原址请见http://www.hacklog.cn/php/wordpress-comment-author-link-open-in-new-window.html

1、打开/wp-includes/comment-template.php,查找“function get_comment_author_link”。

2、在第148行(Wordpress 2.8.4,其他版本可参照)处添加 target='_blank',如下:

$return = "<a href='$url' target='_blank' rel='external nofollow' class='url'>$author</a>";

比较以上两方法,各有优点,方法一独立于主题文件,随时搬家,不受WordPress升级的影响;方法二操作方便,多余代码少,但受WordPress影响,如果升级,文件将受影响,需要手动再去调整,大家可以根据自己需要选择。

分享到: 腾讯微博 QQ空间 新浪微博 人人网 豆瓣 Twitter

原创作者:万戈

文章来源:http://wange.im/wordpress-comment-author-link-open-in-new-window.html

郑重声明:本文由原创作者直接发布或授权本站编辑转载到本站,未经作者同意,请勿随意转载,如果原文允许转载,请按作者要求,保持原文链接,否则,我们将追究相应责任。

相关日志

我要评论当前共有 1 条评论

  1. 小龙(Landon) 说道:

    这个好像用处不大吧。

= 6 + 9
Please leave these two fields as-is: