Recalibrate_wp_Attach_METADATA图像尺寸

时间:2017-09-02 作者:MikeiLL

将图像从Zen Cart迁移到Wordpress,现在有了正确的图像,但WP认为每个图像的尺寸都是100 x 100。

如果我使用WP图像编辑器并对图像进行细微更改,尺寸将更新为正确的尺寸。

helpful MySQL query:

 SELECT * FROM  `wp_postmeta` WHERE meta_key IN (\'_wp_attached_file\', \'_wp_attachment_backup_sizes\',  \'_wp_attachment_metadata\',  \'_thumbnail_id\');
显示图像“尺寸”存储在_wp_attachment_metadata. 例如(unserialized):

array (
  \'width\' => 100,
  \'height\' => 100,
  \'hwstring_small\' => \'height=100 width=100\',
  \'file\' => \'2017/09/p-72-Digital-Boardwalk2.jpg\',
  \'sizes\' => 
  array (
    \'thumbnail\' => 
    array (
      \'file\' => \'p-72-Digital-Boardwalk2.jpg\',
      \'width\' => 150,
      \'height\' => 150,
    ),
    \'medium\' => 
    array (
      \'file\' => \'p-72-Digital-Boardwalk2.jpg\',
      \'width\' => 300,
      \'height\' => 214,
    ),
    \'shop_thumbnail\' => 
    array (
      \'file\' => \'p-72-Digital-Boardwalk2.jpg\',
      \'width\' => 90,
      \'height\' => 67,
    ),
    \'shop_catalog\' => 
    array (
      \'file\' => \'p-72-Digital-Boardwalk2.jpg\',
      \'width\' => 150,
      \'height\' => 111,
    ),
    \'shop_single\' => 
    array (
      \'file\' => \'p-72-Digital-Boardwalk2.jpg\',
      \'width\' => 300,
      \'height\' => 250,
    ),
  ),
  \'image_meta\' => 
  array (
    \'aperture\' => 0,
    \'credit\' => \'\',
    \'camera\' => \'\',
    \'caption\' => \'\',
    \'created_timestamp\' => 0,
    \'copyright\' => \'\',
    \'focal_length\' => 0,
    \'iso\' => 0,
    \'shutter_speed\' => 0,
    \'title\' => \'\',
  ),
)
发现这个很方便command line tool from ImageMagic 确认实际图像尺寸:

$ identify p-72-Digital-Boardwalk2.jpg
p-72-Digital-Boardwalk2.jpg JPEG 960x960 960x960+0+0 8-bit DirectClass 69KB 0.000u 0:00.009
我可以编写一个脚本来遍历所有媒体库文件,并可能使用php的getimagesize, 更新所有相关_wp_attachment_metadata 列。

将元数据更新为实际图像维度的好方法是什么?

1 个回复
最合适的回答,由SO网友:Kumar 整理而成

您可以轻松使用Regenerate Thumbnails 并对所有图像进行批量重新生成。“重新生成缩略图”插件更新全尺寸图像的所有详细信息,并重新创建缩略图。它将更新每个图像的维度,但所有其他图像大小也应注册,否则它们将不会存储在更新后的图像元中。

如果只想更新全尺寸图像的尺寸,可以运行自定义脚本。

阅读您共享的链接,并检查重新生成缩略图的代码,最新版本似乎不依赖WordPress在image meta中存储的维度,但对于缩略图,它肯定需要image meta,所有图像大小都应该注册

结束