WordPress 引入百度 MIP 技巧:整站 a 链接标签添加 target=”_blank”属性

对于 WordPress 引入百度 MIP 子凡也算颇有一些研究了,也算是完整的做过一套 WordPress …

对于 WordPress 引入百度 MIP 子凡也算颇有一些研究了,也算是完整的做过一套 WordPress MIP 主题了,所以也发现了许多的问题,也研究了一些方法和技巧,为了能够让更多使用 WordPress 开发的网站可以快速改造引入百度 MIP,子凡这里提供了一个快速支持百度 MIP 规则之一的方案及相关代码。

如果你已经注意到百度 MIP 并且试图将你的 WordPress 引入 MIP,你应该已经发现了百度 MIP 对链接的一个硬性要求“target 必须设置为 _blank”,那么问题来了,你的 WordPress 主题所有链接都是添加了这个吗?子凡觉得应该不是,因为子凡在改造泪雪博客移动端主题的时候就发现了,这个属性基本都没有添加,原因就不解释了,也可能是子凡的个人开发习惯和对网页使用的习惯了,不习惯网页链接以新窗口的方式打开,特别是在移动端,就算使用了该属性,浏览器也并不一定会新窗口打开,所以就显得代码冗余了。

wordpress a target blank

那么问题也就随之而来了,引入 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 主题,如果有喜欢的大家可以去试试看。

类别:WordPress优化

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册