在使用wordpress过程中笔者发现还有一些不太完善的地方,没有充分考虑到用户体验。所以,在使用wordpress建博之初,我们有必要对wordpress进行一次小改造,让wordpress更个性、更符合SEO规范。

wordpress的链接绝大多数都是在当前窗口打开,对于站内链接还好,要是是站外链接,那么用户点击链接之后就离开你的博客了。这一点不仅仅对SEO不利,而且也不符合用户体验。我比较钟爱新窗口打开链接,这样我可以同时开着两个页面、三个页面或者更多。

wordpress中,最好在新窗口打开链接的地方有好几处。

1、后台控制板左上角的“查看站点”链接。

由于各种原因,笔者经常需要在后台和前台之间不断切换,在同一个页面中切换很麻烦,所以我把它改造了一下,让此处的查看站点链接在新窗口打开。

操作步骤:打开wp-admin文件夹,找到admin-header.php文件打开。找到以下代码:

  1. <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行找到以下代码:

  1. $return = “<a href=’$url’ rel=’external nofollow’ class=’url’>$author</a>”;

替换为:

  1. $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文件打开。找到以下代码:

  1. <input id=“link_target_blank” type=“radio” name=“link_target” value=“_blank” <?php echo ( isset( $link->link_target ) && ($link->link_target == ‘_blank’) ? ‘checked=“checked”‘ : ”); ?> />

然后将其改为:

  1. <input id=“link_target_blank” type=“radio” name=“link_target” value=“_blank” checked=“checked” />

这样就可以了。然后我们去添加友情链接,下面的“超链接目标”那里”_blank — 新窗口或新标签。”是不是已经被选中了?是的,以后就不要每次都去点一下了。做个懒惰的人,其实挺好。

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


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

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

  1. <head>

在其下面加上:

  1. <base target=“_blank”>

让你的wordpress在新窗口打开链接的更多相关文章

  1. 如何用CSS实现在新窗口打开链接?

    *如何用CSS实现在新窗口打开链接? <style type="text/css"> <!-- .target2 a:active {test:expressio ...

  2. javascript新窗口打开链接window.open()被阻拦的解决办法

    场景是ajax提交,比较后端效验数据,需要用户登录,提示后并需要新窗口打开登录的链接,使用window.open(url);往往会被浏览器认为是广告而被拦截. data.url是ajax返回的链接地址 ...

  3. jquery新窗口打开链接

    第一种:下面的代码是针对m35ui这个样式下的a都是在新窗口打开    <script type="text/javascript">  jQuery(document ...

  4. router-link 返回上页 和 新窗口打开链接

    1.如果使用了Vue-router的话,就可以用 this.$router.go(-1) 实现返回: 2.如果没使用vue-router,就可以用 window.history.go(-1) 实现返回 ...

  5. 更喜欢从一而终?bing测试在新窗口打开链接遭美国网友痛批

                  原链接地址:http://www.cnbeta.com/articles/186529.htm 我们都知道在中国网站点击一个链接之后,默认在新窗口或新标签打开,大家也很熟悉 ...

  6. c#: WebBrowser 禁止在新窗口打开链接

    项目中碰到此需求.几番比对,此为最好的解决方案,聊做备忘. 1.加入Microsoft Internet Controls引用: 项目右键->添加引用->COM->Microsoft ...

  7. selenium实现在新窗口打开链接

    问题:页面代码中不存在target="_blank",怎么实现点击一个按钮,在新窗口中打开? WebElement link = element.findElement(By.ta ...

  8. 【转载】实现a元素href URL链接自动刷新或新窗口打开

    又是我偶像的新文,这个小技巧的用户体验真的非常非常棒! 文章转载自 张鑫旭-鑫空间-鑫生活 http://www.zhangxinxu.com/ 原文链接:https://www.zhangxinxu ...

  9. jQuery外链新窗口打开

    对于外链,为了留住用户在本站,我们通常会使用新窗口打开,你可以设置target="_blank".然而手动一个是麻烦,另一个则是有可能会遗漏,本文通过jQuery查询要点击的链接, ...

随机推荐

  1. 【PaPaPa】集成B/S主流技术的MVC5项目 - 实干派:说做就做,我们已经起航,你还在观望吗

    我们是谁 我们是C#爱好者,互相分享技术,一起学习一起成长一起做一个项目. 我们是开源爱好者,从我们手上出来的代码都会托管在源代码管理平台(oschina),到目前为止不收费,将来也不会出现任何收费情 ...

  2. C/C++作用域运算符::

    ::是运算符中等级最高的,它分为三种:全局作用域符,类作用域符,命名空间作用域符 全局作用 全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分如:  char ch; / ...

  3. 木马分析出现python语言,360的安全人员不禁感叹还有这种操作?

    几年前,敲诈者木马还是一个默默无闻的木马种类.然而,由于其极强的破坏力和直接且丰厚的财富回报,敲诈者木马这几年已经一跃成为曝光率最高的木马类型——甚至超越了盗号木马.远控木马.网购木马这传统三强.与此 ...

  4. Memcached服务器上实现多个实例(约约问题排查)

    约约测试服上出行一个问题,司机收车失败. (1)经查看代码是null指针异常. 针对,之前,同套代码发布到华威测试服,未出现该问题,遂认定不是代码问题. (2)打印异常信息,获取null值异常的收车司 ...

  5. Hyperledger Fabric 1.0.1至Hyperledger Fabric 1.0.5所升级的内容及修复的问题

    基础更新 各版本每次迭代都会有一些基础更新内容,如文档修改覆盖.测试用例完善.用户体验改进及删除冗余无效代码等… 下面分类介绍的是一些版本迭代的重要更新内容,因个人实操和理解有限,部分更新并未明确,如 ...

  6. Linux下端口映射工具rinetd

    Linux下简单好用的工具rinetd,实现端口映射/转发/重定向官网地址http://www.boutell.com/rinetd 软件下载wget http://www.boutell.com/r ...

  7. Navicat新建查询,系统找不到指定路径 独家解决办法

    Navicat新建查询系统找不到指定路径,很多人用了网上流行的那些解决办法,还是无法解决.比如: https://jingyan.baidu.com/article/86112f1387a713273 ...

  8. RabbitMQ基础使用之集群构建

    简介 RabbitMQ是基于Erlang开发的一种消息队列服务,本篇文章主要部署三台机器用来实现集群的普通模式与镜像模式!欢迎大家吐槽交流学习! 特点 集群节点包括内存节点和磁盘节点,有了磁盘节点就支 ...

  9. asp.net 错误24

    错误 24 “xxx.Web.xxx.xxx”不包含“xxName”的定义,并且找不到可接受类型为“xxx.Web.xxxr.xxx”的第一个参数的扩展方法“xxxName”(是否缺少 using 指 ...

  10. 【CSAPP笔记】9. 汇编语言——缓冲区溢出

    x86-64 Linux 内存结构 先来看看一个程序在内存中是如何组织的.Linux 为每个进程维持了一段单独的虚拟地址空间.(进程是计算机科学中很深刻.很成功的一个概念.当我们在运行一个程序时,会得 ...