图片在wordpress中的哪里调整大小?在数据库中?在文件夹中?
我将如何调整原始图像的大小(而不是创建新版本)。我问这个,因为我在 wordpress 网站上上传了很多太大的图像并且减慢了加载时间,我想调整它们的大小,所以没有任何尺寸大于 1500 像素。
我已经查看了一些插件,包括“重新生成缩略图”,但可能有一个实际上可以做我想要的,但我还没有找到。
好吧,图像“即时”调整大小,然后存储在服务器中,并将其信息记录在数据库中。
生成原始遗骸和所有“缩略图”。在这种情况下,“缩略图”是指所有 WP 生成的图像大小,无论大小。
我在 WordPress StackExchange 上回答了同样的问题。解决方案来自这篇文章:如何自动使用调整大小的图像而不是原件。
此脚本将用 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;
}
您可以使用 WordPress 的add_theme_support和add_image_size为图像添加多种尺寸,这意味着当您上传新的缩略图时,WordPress 将创建具有指定尺寸的帖子缩略图的副本。要了解有关这些技术的更多信息,您可以阅读本教程。
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' ); }
据我所知,没有插件可以直接调整原始图像的大小并更改其元数据,但是我找到了一种不需要编码的解决方法(我遇到了与您类似的问题)。