调整大小后,WordPress删除原始图像?

时间:2017-01-13 01:45:32

标签: php wordpress image function unlink

在wordpress媒体库中有什么办法可以在调整大小后删除原始图像吗?它似乎保留了原版,我觉得这浪费了很多空间。

3 个答案:

答案 0 :(得分:3)

您必须使用wp_generate_attachment_metadata过滤器来操作上传图片。

以下是代码:

add_filter('wp_generate_attachment_metadata', 'txt_domain_delete_fullsize_image');

function txt_domain_delete_fullsize_image($metadata)
{
    $upload_dir = wp_upload_dir();
    $full_image_path = trailingslashit($upload_dir['basedir']) . $metadata['file'];
    $deleted = unlink($full_image_path);

    return $metadata;
}

代码放在活动子主题(或主题)的function.php文件中。或者也可以在任何插件php文件中 代码已经过测试并且功能齐全。
希望这有帮助!

答案 1 :(得分:2)

我不知道对此的直接答案,保留内部wordpress插件的原始图像是一个好主意。

但是,减少存储和降低成本的一种方法是使用AWS S3插件: https://wordpress.org/plugins/amazon-s3-and-cloudfront/ 这将要求您首先设置AWS S3 Bucket。 如果它没有意义,请随意提出与此相关的其他问题。

答案 2 :(得分:0)

适用于 Wordpress 5.6 这个确实显示了特色图片

from kivy.utils import platform
import os.path


def get_config_file_name():
    if platform == 'android':
        from android.storage import app_storage_path
        return os.path.join(app_storage_path(), 'vocab.ini')
    else:
        return os.path.join(os.path.expanduser('~'), 'vocab.ini')


from kivy.config import Config


def permissions_callback_storage(requests, grants):
    if grants[0]:
        Config.read(get_config_file_name())


if platform == 'android':
    perms = ['android.permission.WRITE_EXTERNAL_STORAGE']
    from android.permissions import request_permissions
    request_permissions(perms, callback=permissions_callback_storage)
else:
    Config.read(get_config_file_name())