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

leixue WordPress优化 2018-05-05 22:04:37 阅读(...) 评论(3)

对于 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 规范(update:2018/12/07)
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 popup', $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)规范”文章中提供的代码适配内容图片就可以了。

更多关于 WordPress 优化及疑问可以添加 QQ 群:255308000

除非注明,否则均为泪雪博客原创文章,禁止任何形式转载

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

发表评论

登录 后参与评论
  1. adu
    1楼
    adu 8个月前 (04-09)

    遇到img 换成 mip-img后,图片不垂直居中,博主有什么办法

    • 张子凡
      张子凡 8个月前 (04-09)
      回复 @adu :目前没需要过这样的情况,不过万事均可通过css控制,你可以在调试一下。
  2. 晓阳
    2楼
    晓阳 2年前 (2018-05-07)

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