您可以尝试以下几项删除4.4中的响应式图像支持的操作:
/**
* Disable responsive image support (test!)
*/
// Clean the up the image from wp_get_attachment_image()
add_filter( 'wp_get_attachment_image_attributes', function( $attr )
{
if( isset( $attr['sizes'] ) )
unset( $attr['sizes'] );
if( isset( $attr['srcset'] ) )
unset( $attr['srcset'] );
return $attr;
}, PHP_INT_MAX );
// Override the calculated image sizes
add_filter( 'wp_calculate_image_sizes', '__return_empty_array', PHP_INT_MAX );
// Override the calculated image sources
add_filter( 'wp_calculate_image_srcset', '__return_empty_array', PHP_INT_MAX );
// Remove the reponsive stuff from the content
remove_filter( 'the_content', 'wp_make_content_images_responsive' );
但正如@cybmeta所提到的,问题可能出在其他地方。
强制开启 srcset
您可以使用wp_calculate_image_srcset
过滤器进行一些调试,甚至可以尝试以下快速修复:
add_filter( 'wp_calculate_image_srcset', function( $sources )
{
foreach( $sources as &$source )
{
if( isset( $source['url'] ) )
$source['url'] = set_url_scheme( $source['url'], 'https' );
}
return $sources;
}, PHP_INT_MAX );
将url方案设置为https
。另一种方法是使它无计划//
。
查看Codex中的其他set_url_scheme()
选项:
$source['url'] = set_url_scheme( $source['url'], null );
$source['url'] = set_url_scheme( $source['url'], 'relative' );
但是,您应该尝试更深入地挖掘并找到根本原因。
更新:
我们可以wp_calculate_image_srcset()
通过以下方式从函数中解脱出来:
add_filter( 'wp_calculate_image_srcset_meta', '__return_empty_array' );
然后使用wp_calculate_image_srcset
或max_srcset_image_width
过滤器。
还根据故障单#41895进行了更新,以返回一个空数组,而不是false / null。