图片在wordpress中的大小调整在哪里?在数据库中?在文件夹中?
我如何调整原始图像的大小(不创建新版本)。我问这个问题,因为我在wordpress网站上上传了相当多的图片太大而且加载时间减慢了,我希望调整它们的大小,这样就不会有任何大于1500px的尺寸。
我已经看过几个插件,包括“重新生成缩略图”,但可能有一个实际上做了我想要的,但我还没找到。
答案 0 :(得分:2)
好吧,图像会“动态”调整大小,然后存储在服务器中,并将其信息记录在数据库中。
原始遗骸和所有“缩略图”都会生成。在这种情况下,“缩略图”指的是所有WP生成的图像大小,无论大小。
我在WordPress StackExchange上回复了same question。解决方案来自本文:How to automatically use resized images instead of originals。
此脚本将替换上传的图像(如果大于设置中定义的较大尺寸)由WordPress生成的大图像替换以节省服务器空间,并在将缩略图链接到原始图像时节省带宽,如当使用灯箱插件时。
add_filter('wp_generate_attachment_metadata','replace_uploaded_image');
function replace_uploaded_image($image_data)
{
// if there is no large image : return
if ( !isset($image_data['sizes']['large']) )
return $image_data;
// paths to the uploaded image and the large image
$upload_dir = wp_upload_dir();
$uploaded_image_location = $upload_dir['basedir'] . '/' . $image_data['file'];
$large_image_location = $upload_dir['path'] . '/' . $image_data['sizes']['large']['file'];
// delete the uploaded image
unlink($uploaded_image_location);
// rename the large image
rename($large_image_location, $uploaded_image_location);
// update image metadata and return them
$image_data['width'] = $image_data['sizes']['large']['width'];
$image_data['height'] = $image_data['sizes']['large']['height'];
unset($image_data['sizes']['large']);
return $image_data;
}
答案 1 :(得分:1)
你可以使用WordPress' add_theme_support和add_image_size为图片添加多个尺寸,这意味着当您上传新缩略图时,WordPress将创建具有指定尺寸的帖子缩略图的副本。要了解有关这些技术的更多信息,您可以read this tutorial。
WordPress还有另一个功能,image_resize可用于缩小图像以适合特定尺寸并保存图像的新副本。
大多数开发人员使用add_image_size
添加多个图片大小以显示在不同的位置,即您可以在主页中将一个图像用作featured image
,也可以在其中使用其他大小的相同图片single.php
页面。要做到这一点,你必须使用
add_theme_support( 'post-thumbnails' );
add_image_size( 'homepage-thumb', 220, 180 ); // 220 pix width,180 pix height
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode
要在主页中显示homepage-thumb
图片,您可以使用
if ( has_post_thumbnail() ) { the_post_thumbnail( 'homepage-thumb' ); }
或者您可以使用single.php
模板
if ( has_post_thumbnail() ) { the_post_thumbnail( 'singlepost-thumb' ); }
另外,您可以查看this plugin,this article也可能有用。希望它有所帮助。
答案 2 :(得分:0)
据我所知,没有插件可以直接调整原始图像的大小并更改其元数据,但我找到了一个解决方法(我遇到了类似的问题),不需要编码。