首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移除srcset图像

移除srcset图像
EN

WordPress Development用户
提问于 2019-03-24 20:34:02
回答 1查看 3K关注 0票数 0

一些wordpress插件创建了新的缩略图大小,我不需要。

我已经创建了一个过滤器

代码语言:javascript
复制
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;
}

取消这些新的缩略图大小,而不创建这些图像。这样就行了。

但是数据集

代码语言:javascript
复制

仍然在寻找这个维度(在这个特殊的例子中是272 x 182),它给了我404,因为图像不是生成的。

如何从这个数据-srcset禁用这个特定的映像?

我只知道如何隐藏数据-srcset,但这隐藏了所有数据:

代码语言:javascript
复制
add_filter( 'wp_calculate_image_srcset_meta', '__return_empty_array' );

我只想去掉特定的缩略图。这是可行的吗?

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2019-03-25 00:10:50

如果您查看核心,则应用该筛选器的方式如下:

代码语言:javascript
复制
$image_meta = apply_filters( 'wp_calculate_image_srcset_meta', $image_meta, $size_array, $image_src, $attachment_id );

与使用__return_empty_array不同,您需要向筛选器中添加一个自定义函数,以删除正在尝试删除的srcset大小。就像这样。

代码语言:javascript
复制
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;
}
票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/332504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档