使用 WordPress 程序搭建博客或网站,默认查看 WordPress 的文字评论,点击评论者名字(如果留有网址或者链接的话),你会发现它直接在原窗口打开(直接跳到评论者留下的网站地址或者链接),而不是在新窗口打开,这样对博主站长和用户体验都不是很友好。
一是对于我们博主来说不友好。从网站自身来以及网站seo角度来说,增加了网站的跳出率,会流失读者和访客。
二是对于用户体验来说不友好。在跳转到另外的页面后,用户顺着链接点击下去,再想回到原来评论页面又要不断的点击浏览器的返回,无形中使用户体验度下降。
那么,如何让 wordpress 评论者链接在新窗口中打开呢?小虾同学总结了两个方法如下:
一、修改comment-template.php文件
在网站的根目录按照文件夹,找到wp-includes/comment-template.php文件,找到如下代码(大约在225行):
if ( empty( $url ) || 'http://' === $url ) {
$return = $author;
} else {
$return = "<a href='$url' rel='external nofollow ugc' class='url'>$author</a>";
}
给 $return 值上加个 target=’_blank’ ,这个就是超链接在新窗口打开的意思。
if ( empty( $url ) || 'http://' === $url ) {
$return = $author;
} else {
$return = "<a href='$url' rel='external nofollow ugc' class='url' target=’_blank’>$author</a>";
}
通过修改 comment-template 文件来实现 WordPress 评论者新窗口打开这种方法适合自己定期记录修改的情况,并且不是热衷程序升级的站长,但是如果自己又没有记录下来,又升级程序来说,就得重新修改会稍显麻烦。
二、在 functions.php 中添加函数实现
在wordpress的 functions.php 文件中添加自定义函数来实现wordpress评论者的网站链接新窗口打开。代码如下:
//wordpress评论作者链接新窗口打开
function dxia_autoblank($text) {
$return = str_replace('<a', '<a target="_blank"', $text);
return $return;
}
add_filter('get_comment_author_link','dxia_autoblank');
这段代码的意思就是利用 wordpress 中的 add_filter 函数给 comment_author_link 中添加target="_blank" 实现新窗口打开功能。如果你使用了 WordPress 子主题的话,这样每次升级 WP 程序或者主题,也不会影响这个功能,而且提高了用户体验。这段代码在博望坡 WordPress 6版本使用没有问题,其他版本如果不适合请修改 get_comment_author_link 为最新,如果失败请留言,小虾很愿意一起研究。
注:add_filter() 是 WordPress 提供的一个过滤器钩子函数,我们可以通过此函数在程序运行时修改各种类型的内部数据。
评论 (0)