分享

Wordpress如何在新窗口中打开的几种方法总结

 昵称16809703 2014-04-17
经过对我的网站shiyin10.sinaapp.com进行研究,同时针对不同链接在新窗口中打开的方法设置,在网上搜索后,进行总结,针对不同的链接在新窗口打开,主要有以下几种:
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文件打开。找到以下代码:
$return = “<a href=’$url’ rel=’external nofollow’ class=’url’>$author</a>”;     
在标签中插入一句[target="_blank"]尖括号中的内容,然后保存。这样,访客昵称所指向的链接就会在新窗口打开了。
当然,你也可以完全不让访客的昵称显示链接,就是将上面这行代码中$author前后的两个尖括号内的内容(a标签)直接删除。最后代码如下:
$return = “$author”;     
其实,笔者认为让访客昵称带上链接更有利于吸引人气。况且,我们都看到了nofollow这个属性,就是说即使搜索引擎见到这个链接也不会追踪过去,更不会传递权重或者PRgoogle和百度都支持nofollow属性。
第二种方法:WP函数hook方法(这是自己用的方法)
下面说说自己设置的过程:
1.在网上首先搜索到了如下的设置方法:该方法来源于评论作者链接新窗口打开
把下面的代码扔进主题的 functions.php 里面就行了
/* 评论作者链接新窗口打开 */
function my_get_comment_author_link() { //by zwwooooo  
    $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');  
自己按照该方法进行设置后,发现除了自己登陆账户时,打开页面没有问题,但是用未登录用户就无法打开网站了,分析后发现应该是自己的缓存插件quick cache的“功劳“,随即停用了quick cache,但是用未登录用户打开时,只能打开主页以及部分页面,几乎是所有的页面都无法打开。最后将quick cache删除,同时用登陆FTP,删除了里面的wp content下的cache文件夹,然后打开页面没有任何问题了。
第三种方法:修改WP源文件 wp-includes/comment-template.php 里面的 get_comment_author_link 函数
具体的方法如下
1)、打开 wp-includes/comment-template.php
2)、查找 function get_comment_author_link 找到下面这段代码:
function get_comment_author_link() {     
/** @todo Only call these functions when they are needed. Include in if... else blocks */   
$url = get_comment_author_url();     
$author = get_comment_author();     
if ( empty( $url ) || 'http://' == $url )     
$return = $author;     
else   
$return = "a class="url" href="$url" rel="external nofollow">$author";     
return apply_filters('get_comment_author_link', $return);     
   
3)、在第8行中rel="external nofollow"后面加入target='_blank' 结果如下
function get_comment_author_link() {     
/** @todo Only call these functions when they are needed. Include in if... else blocks */   
$url = get_comment_author_url();     
$author = get_comment_author();     
if ( empty( $url ) || 'http://' == $url )     
$return = $author;     
else   
$return = "a class="url" href="$url" rel="external nofollow" target="_blank">$author";     
return apply_filters('get_comment_author_link', $return);     
   
第四种方法:jQuery方法,具体参考评论作者链接新窗口打开
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 新窗口或新标签。”是不是已经被选中了?是的,以后就不要每次都去点一下了。做个懒惰的人,其实挺好。
经过以上几处小小的修改,那些该在新窗口打开的链接已经都实现了在新窗口打开。
4.菜单链接
针对菜单链接在新窗口中打开,具体参考WordPress菜单链接在新窗口打开的方法
5.全站链接
下面是全站链接在新窗口中打开的方法:
不需要修改程序文件,只需在主题的header模版中找到
<head>   
在其下面加上:
<base target="_blank">
自己针对第四种方法进行了尝试,存在明显的弊端,自己的文章的目录链接也是在新页中打开,每个翻页也是新窗口,我估计对于用户的体验估计也不是非常好哦。
上面就博客网站上的链接在新窗口中打开进行了总结,在此参考的资料有以下
让你的wordpress在新窗口打开链接
WordPress菜单链接在新窗口打开的方法
评论作者链接新窗口打开
本文主要针对博客站内的后台控制板左上角的“查看站点”链接、访客留言评论链接、友情链接、菜单链接、甚至于全站的所有的链接在新窗口打开的方法进行了总结,希望对大家有用。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多