WordPress评论框中在新窗口中打开评论者的网站链接
有时候,在wordpress的评论框中点击评论者的网站链接是在本窗口内打开,用户体验不好,
介绍一下点击wordpress评论者链接,使之在新窗口中打开的方法如下
1、在新窗口中打开评论者的网站链接
方法一:修改评论模板(不推荐,升级了WP,每次需修改)
打开文件 wp-includes/comment-template.php
vim wp-includes/comment-template.php
找到下面代码,添加 target='_blank' ,添加后代码如下:
function get_comment_author_link( $comment_ID = 0 ) { $comment = get_comment( $comment_ID ); $url = get_comment_author_url( $comment ); $author = get_comment_author( $comment ); if ( empty( $url ) || 'http://' == $url ) $return = $author; else $return = "<a target='_blank' href='$url' rel='external nofollow' class='url'>$author</a>"; // 添加了 target='_blank'
方法二:修改wordpress主题文件function.php(推荐,一劳永逸)
1. 打开主题目录中的functions.php
2. 添加以下代码
/* 评论作者链接新窗口打开 _blank */ function my_get_comment_author_link($content){ $content = str_replace('<a', '<a target="_blank"', $content); return $content; } add_filter('get_comment_author_link', 'my_get_comment_author_link');
3. 保存即可
4. 使用这种方法,不会因为wordpress程序自身的升级更新而失效,一劳永逸。
2、在新窗口中打开评论内容中的链接
上面只解决了评论者链接,没有解决评论内容里的链接从新窗体打开
解决方法:在主题目录下,修改 functions.php
vim functions.php
增加如下代码:
/* 替换评论内容里所有链接为新窗口打开 _blank */ function my_comment_blank($content){ $content = str_replace('<a', '<a target="_blank"', $content); return $content; } add_filter('comment_text', 'my_comment_blank');
这样,评论者和评论内容里的链接,都会在新窗口打开
查看效果,请见米扑博客的关于评论框:
https://blog.mimvp.com/about/#comments
说到这里,顺便分享网站替换为HTTPS SSL 如何把http全部替换为https
方法同理,在主题目录下,修改 functions.php
vim functions.php
增加如下代码:
/* 替换图片链接为 https */ function my_content_manipulator($content){ if( is_ssl() ){ # $content = str_replace('https://blog.mimvp.com/wp-content/uploads', 'https://blog.mimvp.com/wp-content/uploads', $content); $content = str_replace('https://blog.mimvp.com', 'https://blog.mimvp.com', $content); $content = str_replace('https://img.t.sinajs.cn', 'https://img.t.sinajs.cn', $content); $content = str_replace('https://0d077ef9e74d8', 'https://0d077ef9e74d8', $content); } return $content; } add_filter('the_content', 'my_content_manipulator'); add_filter('the_excerpt', 'my_content_manipulator'); add_filter('comment_text', 'my_content_manipulator');
这样,全站都是https链接,浏览器栏显示绿色安全图标
效果请见米扑博客:https://blog.mimvp.com
扩展:WordPress在新窗口打开链接
使用WordPress过程中笔者发现还有一些不太完善的地方,没有充分考虑到用户体验。
所以,在使用wordpress建博之初,我们有必要对wordpress进行一次小改造,让wordpress更个性、更符合SEO规范。
WordPress的链接绝大多数都是在当前窗口打开,对于站内链接还好,要是站外链接,那么用户点击链接之后就离开你的博客了。
这一点不仅仅对SEO不利,而且也不符合用户体验。我比较钟爱新窗口打开链接,这样我可以同时开着两个页面、三个页面或者更多。
WordPress中,最好在新窗口打开链接的地方有好几处。
1、后台控制板左上角的“查看站点”链接
由于各种原因,笔者经常需要在后台和前台之间不断切换,在同一个页面中切换很麻烦,所以我把它改造了一下,让此处的查看站点链接在新窗口打开。
操作步骤:打开wp-admin文件夹,找到admin-header.php文件打开。
找到以下代码:
<a href=“<?php echo trailingslashit( get_bloginfo( ‘url’ ) ); ?>” title=“<?php esc_attr_e(‘Visit Site’) ?>” >
在最后一个尖括号”>”前插入[target="_blank"](方括号内的内容),然后保存该文件。
这样,在后台打开前台首页的链接就会在新窗口打开了。
2、访客留言评论链接
默认会将留言者的昵称加上链接(如果访客有填写网站地址),而且同样也是在同窗口跳转。
米扑博客认为wordpress在这一点做得不是很好,当然我们可以自己修改,点击留言者在新窗口打开。
vim wp-includes/comment-template.php
首先打开wp-includes文件夹,找到comment-template.php文件打开,找到以下代码:
$return = "<a href='$url' rel='external nofollow' class='url'>$author</a>";
替换为:
$return = "<a target='_blank' href='$url' rel='external nofollow' class='url'>$author</a>";
然后保存,这样,访客昵称所指向的链接就会在新窗口打开了。
其实,笔者认为让访客昵称带上链接更有利于吸引人气。
看到了nofollow这个属性,就是说即使搜索引擎见到这个链接也不会追踪过去,更不会传递权重或者PR。google和百度都支持nofollow属性。
3、友情链接在新窗口打开
wordpress的友情链接在新窗口打开其实是可以的,在添加链接的时候,下面有一个选项“超链接目标”,将第一个”_blank — 新窗口或新标签。”选中就可以了。但是笔者是个懒惰的人,常常会忘记这个操作。那么有没有一劳永逸的办法呢?其实,我们通过小小的修改一下代码,还是可以实现让友情链接默认在新窗口打开的。
打开wp-admin目录下的includes文件夹,找到meta-boxes.php文件打开。找到以下代码:
<input id=“link_target_blank” type=“radio” name=“link_target” value=“_blank” <?php echo ( isset( $link->link_target ) && ($link->link_target == ‘_blank’) ? ‘checked=“checked”‘ : ”); ?> />
然后将其改为:
<input id=“link_target_blank” type=“radio” name=“link_target” value=“_blank” checked=“checked” />
这样就可以了。然后我们去添加友情链接,下面的“超链接目标”那里”_blank — 新窗口或新标签。”是不是已经被选中了?是的,以后就不要每次都去点一下了。做个懒惰的人,其实挺好。
经过以上几处小小的修改,那些该在新窗口打开的链接已经都实现了在新窗口打开。
3、一个全站链接在新窗口或标签中打开方法:
不需要修改程序文件,只需在主题的header模版中找到
<head>
在其下面加上:
<base target="_blank">
这个方法有些变态
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2018-09-06 11:09:16
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!