服务器与VPS
促销优惠信息

彻底关闭WordPress缩略图的几种方法 优化图片存储空间

查看目录
文章目录隐藏
  1. 关闭WordPress缩略图方法一
  2. 关闭WordPress缩略图方法二
  3. 关闭WordPress缩略图方法三
  4. 方法四:清理已有缩略图

作为一款免费开源建站程序,wordpress受到了很多企业和个人站长的青睐,楚狂人也是wp的忠实拥趸。但是WordPress一上传图片就会自动裁剪好几张不同尺寸的图片生成缩略图,我们都知道服务器空间有限,这样无疑会占用一定的硬盘资源,有没有可以彻底关闭wordpress缩略图功能呢?那必须有!

关闭WordPress缩略图方法一

1.后台—-设置—-媒体—-图像大小都设置成0,记得保存!

彻底关闭WordPress缩略图的几种方法 优化图片存储空间

2.通过http://你的域名/wp-admin/options.php

进入WordPress的后台——设置(也就是我们常说的WordPress上帝模式)页面。

访问你的博客地址/wp-admin/options.php 进入后找到 medium_large_size_w,设置为0即可。记得保存!

彻底关闭WordPress缩略图的几种方法 优化图片存储空间

当然,直接在数据库里面修改也是可以的,但是相对来说比较麻烦,我们做wordpress优化还是尽量选择简单的办法好。

关闭WordPress缩略图方法二

在你的WordPress主题文件夹中找到functions.php文件,然后添加以下代码:

add_filter( 'intermediate_image_sizes', '__return_empty_array' );

这将移除WordPress生成的所有中等大小的图片缩略图。

关闭WordPress缩略图方法三

把下面的代码放到主题的“functions.php”文件中。

//禁止缩略图
add_filter( 'add_image_size', create_function( '', 'return 1;' ) );
// 禁用自动生成的图片尺寸
function dz_disable_image_sizes($sizes) {
//unset($sizes['thumbnail']); // disable thumbnail size
unset($sizes['medium']); // disable medium size
unset($sizes['large']); // disable large size
unset($sizes['medium_large']); // disable medium-large size
unset($sizes['1536x1536']); // disable 2x medium-large size
unset($sizes['2048x2048']); // disable 2x large size
return $sizes;

}
add_action('intermediate_image_sizes_advanced', 'dz_disable_image_sizes');

// 禁用缩放尺寸
add_filter('big_image_size_threshold', '__return_false');

// 禁用其他图片尺寸
function dz_disable_other_image_sizes() {
remove_image_size('post-thumbnail'); // disable images added via set_post_thumbnail_size() 
remove_image_size('another-size'); // disable any other added image sizes
}
add_action('init', 'dz_disable_other_image_sizes');

上面代码的第3行是注释掉的,这样会保存一张420x280的图片,对应的就是wp后台设置的自定义尺寸的缩略图。使用时可以根据自己的使用场景结合注释说明更改上面的代码。

这时候再上传图片,你就会发现图片空间里面只有一张原图和一张文件名后缀为“-420x280”的图片,,这一样我们至少又可以节约一大半的存储空间。

方法四:清理已有缩略图

进入wordpress服务器地址,进入目录域名/wp-content/uploads,下图为清理后效果,

只会删除 xxxxx-2560x1280.png一类格式的图片,不会删除其余文件

彻底关闭WordPress缩略图的几种方法 优化图片存储空间

脚本:

#coding=utf-8
import re
import os



def get_file_path(root_path, file_list, dir_list):
    # 获取该目录下所有的文件名称和目录名称
    dir_or_files = os.listdir(root_path)
    for dir_file in dir_or_files:
        # 获取目录或者文件的路径
        dir_file_path = os.path.join(root_path, dir_file)
        # 判断该路径为文件还是路径
        if os.path.isdir(dir_file_path):
            dir_list.append(dir_file_path)
            # 递归获取所有文件和目录的路径
            get_file_path(dir_file_path, file_list, dir_list)
        else:
            file_list.append(dir_file_path)
            pass
    return file_list
            

def delete_file(deletes_files,find_delete,find_mulu):
    for delete_file in deletes_files:
        delete_file = str(delete_file)

        delete_file = str(re.findall(find_delete,delete_file)).replace("['","").replace("']","")
        try:
            os.remove(delete_file)
            with open("已删除文件.txt","a+",encoding="utf-8") as f:
                f.write(str(delete_file) + "\n")       
        except Exception as e:
            pass


if __name__ == "__main__":
    # 根目录路径
    root_path = "./"
    # 用来存放所有的文件路径
    file_list = []
    # 用来存放所有的目录路径
    dir_list = []
    # 用来存放所有的删除文件
    deletes_files = []
    # 匹配规则
    find_delete = re.compile(r'.+?-\d[0-9]{0,5}\w[x]\d[0-9]+.\w[jpg,png,jpeg]+')
    find_mulu = re.compile(r'.{2}\d{2}\\')


    deletes_files = get_file_path(root_path, file_list, dir_list)
    delete_file(deletes_files,find_delete,find_mulu)

新建文件1.py,然后终端切换到图片上传路径

cd /www/wwwroot/域名/wp-content/uploads
python 1.py

稍等片刻,然后刷新文件查看即可发现,多余的网站缩略图已经全部删除,网站图片加载依旧正常(图片文件都存在,不会误删,但是如果你文章里面使用的是裁剪过后的图片,可能会导致404,想好就可以进行操作)

最后,楚狂人友情提示,无论使用上面哪种方法来优化网站的图片存储,都建议在进行更改之前备份你的网站,以防不必要的问题。此外,禁用某些缩略图可能会影响你的网站的外观和性能,因此要慎重考虑。

楚狂人 » 彻底关闭WordPress缩略图的几种方法 优化图片存储空间

相关推荐

  • 暂无文章

评论 抢沙发

  • (必填)
  • (必填)

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏