WP 5.3删除默认WordPress图像大小

时间:2020-02-05 作者:eballeste

我找到了几个examples 他们使用intermediate_image_sizes_advanced 筛选以取消设置每当用户将新图像上载到媒体库时生成的默认WP图像大小。在没有插件的全新安装上,根本不会调用此过滤器。

使命感get_intermediate_image_sizes() 弹出以下数组:

[05-Feb-2020 17:29:55 UTC] Array
(
    [0] => thumbnail
    [1] => medium
    [2] => medium_large
    [3] => large
    [4] => 1536x1536
    [5] => 2048x2048
)
1536x1536来自哪里?2048x2048 com来自哪里?

后来我试着打电话remove_image_size(\'size\')init 这只适用于上述两种新尺寸。其他默认大小仍保持不变:

[05-Feb-2020 17:30:26 UTC] Array
(
    [0] => thumbnail
    [1] => medium
    [2] => medium_large
    [3] => large
)
有人知道这里发生了什么吗?有什么变化吗?

1 个回复
SO网友:eballeste

使用intermediate_image_sizes_advanced 过滤器对我不起作用。然而intermediate_image_sizes 工程和$default_sizes 数组是索引数组,而不是关联数组。在我找到的每个使用intermediate_image_sizes_advanced 过滤器,答案是从关联数组中取消设置图像大小。

以下内容在WP 5.3中适用于我:

add_filter( \'intermediate_image_sizes\', \'remove_default_img_sizes\', 10, 1);

function remove_default_img_sizes( $sizes ) {
  $targets = [\'medium\', \'medium_large\', \'large\', \'1536x1536\', \'2048x2048\'];

  foreach($sizes as $size_index=>$size) {
    if(in_array($size, $targets)) {
      unset($sizes[$size_index]);
    }
  }

  return $sizes;
}
Here\'s a link 添加自5.3版以来的两个附加尺寸的函数,并解释为什么我能够使用remove_image_size.

相关推荐

Fix hover images blink

我使用php生成了这个css脚本,它用于在用户悬停时显示wordpress的第二个特色图像。问题是图像在闪烁,我不知道如何解决这个小问题。有人能建议解决这个问题吗?我已经实现了lazyload,但在这种情况下它是无用的。<div class=\"box\"> <?php $id = get_the_ID(); ?> <div class=\"rounded-circle\" style=\"background-image:url(\'