列出仍处于禁用状态的所有图像大小

时间:2016-12-07 作者:l2aelba

First disabled/unset unused sizes :

function remove_default_image_sizes($sizes) {
    unset($sizes[\'medium\']);
    unset($sizes[\'large\']);
    return $sizes;
}
add_filter(\'intermediate_image_sizes_advanced\',\'remove_default_image_sizes\');
Its work.现在我试着列出所有尺寸:(我发布了短代码,在现实世界中我使用代码something like this)

foreach(get_intermediate_image_sizes() as $_size){
    echo $_size;
}

Why Im still getting :

thumbnail
medium
medium_large
large
mediumlarge 不应在列表中,因为我已禁用/取消设置它们。有什么想法吗?

1 个回复
SO网友:Fabian Marz

查看get_intermediate_image_sizes 函数代码解决了您的问题:

/**
 * Gets the available intermediate image sizes.
 *
 * @since 3.0.0
 *
 * @global array $_wp_additional_image_sizes
 *
 * @return array Returns a filtered array of image size strings.
 */
function get_intermediate_image_sizes() {
  global $_wp_additional_image_sizes;
  $image_sizes = array(\'thumbnail\', \'medium\', \'medium_large\', \'large\'); // Standard sizes
  if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) )
    $image_sizes = array_merge( $image_sizes, array_keys( $_wp_additional_image_sizes ) );

  /**
   * Filter the list of intermediate image sizes.
   *
   * @since 2.5.0
   *
   * @param array $image_sizes An array of intermediate image sizes. Defaults
   *                           are \'thumbnail\', \'medium\', \'medium_large\', \'large\'.
   */
  return apply_filters( \'intermediate_image_sizes\', $image_sizes );
}
如您所见,您应用的过滤器没有在函数中调用。而是调用过滤器wp_generate_attachment_metadata(). 因此,如果要过滤创建和列表的大小,可以添加另一个过滤器。

相关推荐

Images getting smashed

我正在开发一个网站,我遇到了一个关于图像和图库的问题。每当你进入页面时,图像都会被破坏,一旦你刷新几次,它就会被修复,但第一次进入页面时,它看起来是这样的:当它看起来像这样时:这些图像经过的过程是:上传画廊(Gutenberg Block)使用EWW插件进行优化之后,关于图像优化,我激活了PageSpped Ninja、AutoOptimize和Smush插件。我已尝试禁用所有这些功能,但问题仍然存在,我希望您能帮助我解决这个问题。谢谢:D