有时候,在wordpress的评论框中点击评论者的网站链接是在本窗口内打开,用户体验不好,

介绍一下点击wordpress评论者链接,使之在新窗口中打开的方法如下

 

在新窗口中打开评论者的网站链接

方法一

打开文件 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>";

 

方法二

对wordpress主题文件进行定义(推荐)

1. 打开主题目录中的functions.php

2. 添加以下代码

/* 评论作者链接新窗口打开 */
function my_get_comment_author_link() {
$url = get_comment_author_url( $comment_ID );
$author = get_comment_author( $comment_ID );
if ( empty( $url ) || 'http://' == $url )
return $author;
else
return "<a target='_blank' href='$url' rel='external nofollow' class='url'>$author</a>";
}
add_filter('get_comment_author_link', 'my_get_comment_author_link');

3. 保存即可

4. 使用这种方法并不会因为wordpress程序自身的更新而失效。

 

 

在新窗口中打开评论内容中的链接

上面只解决了评论者链接,没有解决评论内容里的链接从新窗体打开

解决方法:在主题目录下,修改 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

 

https SSL 免费证书服务申请

https 免费证书申请与安装

 

 

扩展: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在这一点做得不是很好,当然我们可以自己修改。

首先打开wp-includes文件夹,找到comment-template.php文件打开,在大约216行找到以下代码:

$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 — 新窗口或新标签。”是不是已经被选中了?是的,以后就不要每次都去点一下了。做个懒惰的人,其实挺好。

经过以上几处小小的修改,那些该在新窗口打开的链接已经都实现了在新窗口打开。

 

补一个全站链接在新窗口或标签中打开方法:

不需要修改程序文件,只需在主题的header模版中找到

<head>

在其下面加上:

<base target="_blank">

这个方法有些变态