前阵子小编接到某客户反馈,说是怀疑网站是不是被黑了,没买多久的空间网站空间就用掉了 1.2G 多。当时小编也觉得奇怪,虽然客户的 WordPress 网站是图片站,不过小编看了下文章数量和每篇文章的图片平均大小,应该占用那么多空间啊?当时觉得非常奇怪,正好前天好机油源码集合找小编更换友链的关键词,小编突然想到源码以前曾经找过小编询问过 WordPress 自动产生的缩略图占用大量网站空间问题。小编立即登录客户的空间查看,果然是缩略图在作祟。 WordPress 在后台写文章时通过通过 「添加媒体」 上传,或者直接在 「多媒体」 中上传的图片都会产生三个缩略图版本,原意是为了方便用户快速的插入不同尺寸的缩略图。

那么如何解决 WordPress 自动生成缩略图从而占用大量网站空间容量的问题呢?其实只需要一段代码即可:

function wxd_remove_image_size($sizes) {
                unset( $sizes['small'] );
                unset( $sizes['medium'] );
                unset( $sizes['large'] );
                return $sizes;
        }
        add_filter('image_size_names_choose', 'wxd_remove_image_size');

将以上代码加入到主题的 functions.php 文件即可删除 WordPress 自带的缩略图版本,这样一来以后上传的图片就不会产生缩略图版本了,不过之前上传的图片的缩略图依旧存在,大家可以利用工具批量删除。 (PS:三种缩略图可以按照自己的需求进行删减。)

有些时候大家可能会用到固定尺寸的缩略图,这是时我们还可以自定义个固定尺寸的缩略图版本,代码如下:

if ( function_exists( 'add_image_size' ) ) {
    add_image_size( 'new-size', 300, 100, true ); //(设置尺寸)
}
add_filter('image_size_names_choose', 'wxd_image_sizes');
function wxd_image_sizes($sizes) {
        $addsizes = array(
                "new-size" => __( "固定缩略图")
                );
        $newsizes = array_merge($sizes, $addsizes);
        return $newsizes;
}