WordPress 自动缩放尺寸超过 2000 像素的图像。 我只是想从文件名和图像网址末尾删除 -scaled 。我知道 big_image_size_threshold 保存图像的原始副本。我不关心原始尺寸的图像。我只想删除 -scaled。
我尝试使用该函数重命名文件,但没有成功。我认为缩放过程正在运行
function wpa59168_rename_attachment( $post_ID ) {
$post = get_post( $post_ID );
$file = get_attached_file( $post_ID );
$path = pathinfo( $file );
$new_name=str_replace('-scaled', '', $path['filename']);
$new_file = $path['dirname'] . '/' . $new_name . '.' . $path['extension'];
rename( $file, $new_file );
update_attached_file( $post_ID, $new_file );
}
add_action( 'add_attachment', 'wpa59168_rename_attachment' );
我也不想要缩放图像,我添加了这段代码:
add_filter( 'big_image_size_threshold', function ( $treshold, $imagesize, $file, $attachment_id ) {
return false;
}, 10, 4 );
这实际上杀死了我网站上的缩放图像。如果这就是您正在寻找的。具有原始尺寸的原始图像仍然存在,文件名中没有“-scaled”部分
如果删除“-scaled”文件名部分,您将获得原始文件名,但这将导致 rename( $file, $new_file ) 调用失败,因为同名文件已存在。
在尝试重命名缩放版本之前删除原始文件。
C.