WordPress 引入百度 MIP 技巧:整站 a 链接标签添加 target=”_blank”属性
对于 WordPress 引入百度 MIP 子凡也算颇有一些研究了,也算是完整的做过一套 WordPress …
对于 WordPress 引入百度 MIP 子凡也算颇有一些研究了,也算是完整的做过一套 WordPress MIP 主题了,所以也发现了许多的问题,也研究了一些方法和技巧,为了能够让更多使用 WordPress 开发的网站可以快速改造引入百度 MIP,子凡这里提供了一个快速支持百度 MIP 规则之一的方案及相关代码。
如果你已经注意到百度 MIP 并且试图将你的 WordPress 引入 MIP,你应该已经发现了百度 MIP 对链接的一个硬性要求“target 必须设置为 _blank”,那么问题来了,你的 WordPress 主题所有链接都是添加了这个吗?子凡觉得应该不是,因为子凡在改造泪雪博客移动端主题的时候就发现了,这个属性基本都没有添加,原因就不解释了,也可能是子凡的个人开发习惯和对网页使用的习惯了,不习惯网页链接以新窗口的方式打开,特别是在移动端,就算使用了该属性,浏览器也并不一定会新窗口打开,所以就显得代码冗余了。
那么问题也就随之而来了,引入 MIP 又必须添加这个属性,而且我们大多都是使用 WordPress 提供的函数调用等等,各个地方也都非常的繁琐,修改的地方也可能非常的多,所以子凡这次就是为了解决这个问题,直接添加子凡提供的代码,网站前端展示的所有页面的所有 a 链接标签的属性都会添加 target=”_blank”了,就问你牛逼不牛逼。。。哈哈哈,不装逼了,直接上代码。
老规矩,直接将以下代码复制到当前需要引入百度 MIP 的 WordPress 主题的 functions.php 文件中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
//WordPress 整站链接添加 target="_blank",快速引入百度 MIP add_action('get_header', 'Fanly_mip_target_blank'); function Fanly_mip_target_blank(){ function Fanly_mip_target_blank_main ($content){ $regexp = "<as[^>]*href=("??)([^" >]*?)1[^>]*>"; if(preg_match_all("/$regexp/siU", $content, $matches, PREG_SET_ORDER)) { if( !empty($matches) ) { $srcUrl = get_option('siteurl'); for ($i=0; $i < count($matches); $i++){ $tag = $matches[$i][0]; $tag2 = $matches[$i][0]; $url = $matches[$i][0]; $target = ''; $pattern = '/targets*=s*"s*_blanks*"/'; preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE); if( count($match) < 1 ){$target .= ' target="_blank" ';} $tag = rtrim ($tag,'>'); $tag .= $target .'>'; $content = str_replace($tag2,$tag,$content); } } } $content = str_replace(']]>', ']]>', $content); return $content; } ob_start("Fanly_mip_target_blank_main"); } |
是不是觉得非常非常的简单和便捷呢?
多的就不说了,子凡祝大家在 WordPress 引入 MIP 的路上越走越好,同时子凡也已经提供了一款已经改造好了的WordPress MIP 主题,如果有喜欢的大家可以去试试看。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!