当前浏览:首页 / WordPress函数 / remove_image_size()

remove_image_size( string $name )

删除新的图片尺寸

imagemore...

removemore...

size


参数

$name

(string)(必填) 要删除的图像尺寸。


返回

(bool) 如果成功删除图片尺寸,则为true;如果失败,则为false。


更多信息

  • 当插件注册了图片尺寸,并且您希望在主题中使用相同的图像名称,但尺寸不同时,此功能非常有用。
  • 无法在reserved image size names上使用。

源码

查看源码 官方文档


更新日志

版本描述
3.9.0开始引入

使用示例

  • 示例1

    要删除所有图片尺寸,只保留默认的WordPress图像尺寸 –

    function remove_extra_image_sizes() {
        foreach ( get_intermediate_image_sizes() as $size ) {
            if ( !in_array( $size, array( 'thumbnail', 'medium', 'medium_large', 'large' ) ) ) {
                remove_image_size( $size );
            }
        }
    }
    
    add_action('init', 'remove_extra_image_sizes');
  • 示例2

    另一种常见的情况是,您的(父)主题或插件创建了您永远不会使用的图像尺寸。
    取消注册不需要的尺寸将阻止WordPress生成和存储您不使用的图像。
    这将节省磁盘空间和相关成本。

    当然,它只会影响将来的图像上传。
    可以使用“regenerate thumbnails”插件删除当前未注册的现有缩略图,同时创建任何缺少的尺寸。

    本文提到,不能对保留的图片尺寸名称使用此函数。
    但是,有一些解决方法:

    • 在WordPress设置中,您可以将图像尺寸设置为0px。
    • 您可以尝试`intermediate_image_sizes_advanced`函数。
    • 您可以将以下代码放入functions.php文件中:
      update_option( 'thumbnail_size_h', 0 );
      update_option( 'thumbnail_size_w', 0 );
      update_option( 'medium_size_h', 0 );
      update_option( 'medium_size_w', 0 );
      update_option( 'large_size_h', 0 );
      update_option( 'large_size_w', 0 );
      
  • 示例3

    实例

    在主题的functions.php文件中:

    function wpdocs_remove_plugin_image_sizes() {
    	remove_image_size( 'image-name' );
    }
    add_action('init', 'wpdocs_remove_plugin_image_sizes');
    

    您可以将其与主题中的add_image_size函数相结合。

    function wpdocs_remove_then_add_image_sizes() {
    	remove_image_size( 'image-name' );
    	add_image_size( 'image-name', 200, 200, true );
    }
    add_action('init', 'wpdocs_remove_then_add_image_sizes');
    
  • 示例4

    要替换任何默认图像尺寸,如“medium”、“large”等,必须先删除,然后添加新属性。

    /**
     * Add crop attribute to 'medium' WordPress default image size
     */
    add_action( 'init', 'wpdocs_change_medium_image_size' );
    function wpdocs_change_medium_image_size() {
        remove_image_size( 'medium' );
        add_image_size( 'medium', 300, 300, true );
    }