如何在wordpress中调整原始图像的大小/访问?

时间:2012-12-04 23:38:51

标签: image wordpress

图片在wordpress中的大小调整在哪里?在数据库中?在文件夹中?

我如何调整原始图像的大小(不创建新版本)。我问这个问题,因为我在wordpress网站上上传了相当多的图片太大而且加载时间减慢了,我希望调整它们的大小,这样就不会有任何大于1500px的尺寸。

我已经看过几个插件,包括“重新生成缩略图”,但可能有一个实际上做了我想要的,但我还没找到。

3 个答案:

答案 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_supportadd_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 pluginthis article也可能有用。希望它有所帮助。

答案 2 :(得分:0)

据我所知,没有插件可以直接调整原始图像的大小并更改其元数据,但我找到了一个解决方法(我遇到了类似的问题),不需要编码。

  1. 通过FTP下载图像(图像存储在wp-content / uploads /目录中)
  2. 使用您选择的软件进行调整大小/编辑操作,并使用FTP将图像重新上传到之前的相同位置(不应更改文件夹结构或文件名中的任何内容)
  3. 在Wordpress管理员中安装WPR Rebuild Meta Data plugin。转到"工具 - >重建Meta"。这将重建所有已修改的图像元数据(例如,它会将新图像大小更新到数据库中)
  4. 在Wordpress管理员中安装Force Regenerate Thumbnails plugin。您可以使用"工具 - >强制重新生成缩略图"为您的所有图像执行此操作,或者从Wordpress媒体管理器执行此操作仅针对您已更改的图像。这将删除旧的缩略图和自定义图像大小,并从新图像中创建新的缩略图。