WordPress 全站改造百度 MIP(mip-img)图片标签

张子凡 WordPress建站 2018-05-05 22:04:37 阅读(...) 评论(1)

对于 WordPress mip-img 规范的改造,子凡也曾在泪雪博客分享过“WordPress 文章内图片适配百度 MIP”,前两天就有人给我留言说首页、栏目、标签等页面该怎么视频 mip-img 规范,其实就Fanly MIP 主题的话,非内容页面的图片都是从源码调用的时候就直接改造了,所以一般来说需要适配的可能就是内容和页面中的图片,所以也就未曾考虑其它页面。

wordpress mip img

那么既然有人现在有这个需求,子凡决定还是来满足一下,让 WordPress 整站都支持图片的 MIP 规范(mip-img)的改造,其实方法很简单,如果你会一些代码,然后关注过泪雪博客其它的一些 WordPress 代码,加上之前的百度 MIP 改造代码,就已经可以拼接一个这个兼容代码了,废话就不多说,下面上代码吧!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//WordPress 全站图片适配 mip-img 规范
add_filter('get_header', 'fanly_mip_img_all');
function fanly_mip_img_all(){
	function fanly_mip_img_all_main ($content){
		preg_match_all('/<img (.*?)\>/', $content, $images);
		if(!is_null($images)) {
			foreach($images[1] as $index => $value){
				$mip_img = str_replace('<img', '<mip-img', $images[0][$index]);
				$mip_img = str_replace('>', '></mip-img>', $mip_img);
				//以下代码可根据需要修改/删除
				$mip_img = preg_replace('/(width|height)="\d*"\s/', '', $mip_img );//移除图片 width|height
				$mip_img = preg_replace('/ style=\".*?\"/', '',$mip_img);//移除图片 style
				$mip_img = preg_replace('/ class=\".*?\"/', '',$mip_img);//移除图片 class
				//以上代码可根据需要修改/删除
				$content = str_replace($images[0][$index], $mip_img, $content);
			}
		}
		return $content;
	}
	ob_start("fanly_mip_img_all_main");
}

将以上代码添加你当前需要改造适配的 MIP 主题中即可,这样你网站前端所有位置的所有图片都将全部将 img 标签改成了符合百度 MIP 规范的 mip-img 标签。

不过值得注意的是,以上代码需要你当前服务器支持 php 的 ob_start,一般情况的主机或者服务器都是支持的,因为就是因为改造了图片的标签,页面图片的 css 样式可能就需要重新调整,这个就需要大家自己动手了。

最后子凡建议如果你有能力直接将原来主题中的首页、栏目、标签等其它调用图片的地方手动改造代码,有助于提升 WordPress 运行速度,这样你就只需要使用子凡在“WordPress 文章内图片适配百度 MIP(mip-img)规范”文章中提供的代码适配内容图片就可以了。

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

本文链接:https://zhangzifan.com/wordpress-mip-img-all.html

发表评论

  1. 晓阳
    1楼
    晓阳 5个月前 (05-07)

    子凡大神一声不响就改造了。。。我还是百度搜索过来的哈哈哈,很强,谢谢大神,我先去测试一下