1

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

我将如何调整原始图像的大小(而不是创建新版本)。我问这个,因为我在 wordpress 网站上上传了很多太大的图像并且减慢了加载时间,我想调整它们的大小,所以没有任何尺寸大于 1500 像素。

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

4

3 回答 3

2

好吧,图像“即时”调整大小,然后存储在服务器中,并将其信息记录在数据库中。

生成原始遗骸和所有“缩略图”。在这种情况下,“缩略图”是指所有 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;
}
于 2012-12-05T01:09:19.580 回答
1

您可以使用 WordPress 的add_theme_supportadd_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' ); }

你也可以看看这个插件这篇文章也很有用。希望能帮助到你。

于 2012-12-05T00:51:10.590 回答
0

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

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