最近分享了一个免费wordpress主题,结果有用户发现博客上的图片显示不出来了,经过排查是由于 WordPress 4.4 开始新增了响应式图片属性 srcset和sizes。而这个主题使用了Pjax预加载的技术,所以造成了图片不显示。

对于这个问题,最好的方法就是找到源码,将图片的路径修改成正确的。

我这里有一个快速的方法禁用响应式图片属性srcset和sizes,如果遇到类似的问题也可以这么处理。

代码如下

在主题的 functions.php 文件末尾追加下面的函数

//disable srcset on images
function disable_srcset( $sources ) {
return false;
}
add_filter( 'wp_calculate_image_srcset', 'disable_srcset' );

将以上代码放到主题的 functions.php 文件中,然后清除一下 CDN 缓存(同时强刷浏览器)。

它主要作用是用来禁止响应式的图片生成本地文件属性(因为图片是寄托在第三方,所以它的路径是远程路径而非本地路径)。