经过对我的网站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这个属性,就是说即使搜索引擎见到这个链接也不会追踪过去,更不会传递权重或者PR。google和百度都支持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菜单链接在新窗口打开的方法 评论作者链接新窗口打开 本文主要针对博客站内的后台控制板左上角的“查看站点”链接、访客留言评论链接、友情链接、菜单链接、甚至于全站的所有的链接在新窗口打开的方法进行了总结,希望对大家有用。 |
|
来自: 昵称16809703 > 《computer》