前几天更新WordPress最新4.41版本之后,发现文章之前的图片暗箱弹出功能没了,而且之前设置好是缩略图尺寸也没了,直接就是最大尺寸。
原来,升级后,页面代码变了:
①、很明显多了一个srcset属性
②、Begin主题专用的图片暗箱标识:rel=”example_group” 消失了。
所以,图片暗箱失效的原因就是这个暗箱属性?rel=”example_group” 没了导致的。而我之前设置好的图片尺寸失效则是因为新增了 srcset 这个标签导致的。
简单了解了下,最新版 WordPress 加入srcset是为了更好的做到图片自适应,srcset这个属性细节,感兴趣的朋友可以自行了解下。
废话不多说,下面直接搬运代码:
WordPress去掉srcset的代码:
- /**
- * 禁用 WordPress 4.4+ 的响应式图片功能
- */
- add_filter( ‘max_srcset_image_width’, create_function( ”, ‘return 1;’ ) );
不想改代码,也可以安装 Disable Responsive Images 插件解决。
图片暗箱问题的解决代码:
- /**
- *修复WordPress4.41图片暗箱失效问题以及去掉srcset属性(响应式图片)
- */
- add_filter(‘max_srcset_image_width’,create_function(”,‘return1;’));
- add_filter(‘the_content’,‘fix_fancybox’);
- functionfix_fancybox($content){
- global$post;
- #修复图片暗箱属性
- $content=preg_replace(“/<a(.*?)rel=(‘|”)(.*?)(‘|”)/i”,‘<a$1rel=“example_group”‘,$content);
- return$content;
- }
如上代码,添加到主题的 functions.php 当中保存即可,若不在意或本身就是用完整尺寸图片,请如注释所述,去掉后面2条规则即可。
另外,上述代码只适用于需要 rel=”example_group” 属性的暗箱功能,比如Begin主题。其他暗箱若发现不能功能,可以参考这个方法修复。