一些wordpress插件创建了我不需要的新缩略图大小。
我已创建筛选器
add_filter( \'intermediate_image_sizes_advanced\',
// Remove default image sizes here.
function prefix_remove_default_images( $sizes ) {
unset( $sizes[\'sow-carousel-default\']); // 272px x 182px set by widgets for siteorigin (carousel)
return $sizes;
}
取消设置这些新缩略图大小,而不创建这些图像。这样就行了。
但是数据srcset
<img width="270" height="180" src="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMjcwIDE4MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48L3N2Zz4=" class="attachment-post-thumbnail size-post-thumbnail lazyload wp-post-image" alt="Ballonnen met gas gevuld aan plafond" title="Ballonnen voor je huwelijk kopen" sizes="(max-width: 270px) 100vw, 270px" data-srcset="http://wpdyw.localhost/wp-content/uploads/2017/10/ballonnen-met-gas-gevuld-aan-plafond-270x180.jpg 270w, http://wpdyw.localhost/wp-content/uploads/2017/10/ballonnen-met-gas-gevuld-aan-plafond-600x400.jpg 600w, http://wpdyw.localhost/wp-content/uploads/2017/10/ballonnen-met-gas-gevuld-aan-plafond-300x200.jpg 300w, http://wpdyw.localhost/wp-content/uploads/2017/10/ballonnen-met-gas-gevuld-aan-plafond-768x512.jpg 768w, http://wpdyw.localhost/wp-content/uploads/2017/10/ballonnen-met-gas-gevuld-aan-plafond-1024x682.jpg 1024w, http://wpdyw.localhost/wp-content/uploads/2017/10/ballonnen-met-gas-gevuld-aan-plafond-770x515.jpg 770w, http://wpdyw.localhost/wp-content/uploads/2017/10/ballonnen-met-gas-gevuld-aan-plafond-272x182.jpg 272w, http://wpdyw.localhost/wp-content/uploads/2017/10/ballonnen-met-gas-gevuld-aan-plafond-110x73.jpg 110w" data-src="http://wpdyw.localhost/wp-content/uploads/2017/10/ballonnen-met-gas-gevuld-aan-plafond-270x180.jpg" />
仍然在寻找这个维度(在这个特殊的例子中是272 x 182),它给了我一个404,因为图像没有生成。
如何从此数据集禁用此特定图像?
我只知道如何隐藏数据srcset,但这会隐藏所有数据:
add_filter( \'wp_calculate_image_srcset_meta\', \'__return_empty_array\' );
我只想去掉特定的缩略图。这有可能吗??
最合适的回答,由SO网友:mrben522 整理而成
如果查看core,该过滤器的应用方式如下:
$image_meta = apply_filters( \'wp_calculate_image_srcset_meta\', $image_meta, $size_array, $image_src, $attachment_id );
而不是使用
__return_empty_array
您需要向该过滤器中添加一个自定义函数,以删除要删除的srcset大小。像这样的。
function my_srcset_function($image_meta) {
if (!is_array($image_meta)) {
return $image_meta;
}
if (!empty($image_meta[\'sizes\']) && !empty($image_meta[\'sizes\'][\'sow-carousel-default\'])) {
unset($image_meta[\'sizes\'][\'sow-carousel-default\']);
}
return $image_meta;
}