对于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 = "<a\s[^>]*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 = '/target\s*=\s*"\s*_blank\s*"/';
					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主题,如果有喜欢的大家可以去试试看。

除非注明,否则均为泪雪博客原创文章,转载请以链接形式标明本文地址

本文链接:https://zhangzifan.com/wordpress-a-target-blank.html

发表评论

  1. I’mXuanR
    1楼
    I’mXuanR 4个月前 (12-13)

    请教一下 是不是这样就算引入MIP了。。。

    • 张子凡
      回复
      张子凡 4个月前 (12-13)
      回复 @I’mXuanR :这只是其中一点而已
  2. 刘国栋个人博客
    2楼
    刘国栋个人博客 6个月前 (11-05)

    用MIP百度更喜欢。。。

    • 张子凡
      回复
      张子凡 6个月前 (11-06)
      回复 @刘国栋个人博客 :支持百度的产品,百度没有不喜欢的理由,哈哈哈哈