WordPress没有创建自定义图像大小

时间:2014-08-13 15:21:46

标签: php wordpress wordpress-plugin wordpress-theming

我有一个functions.php文件,在其中,我定义了在上传图片时由WP创建的一些自定义图像尺寸。

if ( function_exists( 'add_image_size' ) ) {

    // Thumbnail Size
    add_image_size('image-preview', 300);

    // Desktop 2:1
    add_image_size('image-desktop', 1920);
    add_image_size('image-desktop-crop', 1920, 960, true);

    // Tablet 8:5
    add_image_size('image-tablet', 1536);
    add_image_size('image-tablet-crop', 1536, 960, true);

    // Mobile Portrait 8:5
    add_image_size('image-mobile-portrait', 768);
    add_image_size('image-mobile-portrait-crop', 768, 480, true);

    // Mobile Landscape 2:1
    add_image_size('image-mobile-landscape', 960);
    add_image_size('image-mobile-landscape-crop', 960, 480, true);

}

当我转储图像对象时,我得到类似的东西:

array(39) {
["image-preview"]=>
  string(75) "https://dev.xxxxxxxxxxxxx.com/wp-content/uploads/2014/08/BW-divider_1536x960px.jpg"
  ["image-preview-width"]=>
  int(300)
  ["image-preview-height"]=>
  int(187)
  ["image-desktop"]=>
  string(75) "https://dev.xxxxxxxxxxxxx.com/wp-content/uploads/2014/08/BW-divider_1536x960px.jpg"
  ["image-desktop-width"]=>
  int(1536)
  ["image-desktop-height"]=>
  int(960)
  ["image-desktop-crop"]=>
  string(75) "https://dev.xxxxxxxxxxxxx.com/wp-content/uploads/2014/08/BW-divider_1536x960px.jpg"
  ["image-desktop-crop-width"]=>
  int(1536)
  ["image-desktop-crop-height"]=>
  int(960)
  ["image-tablet"]=>
  string(75) "https://dev.xxxxxxxxxxxxx.com/wp-content/uploads/2014/08/BW-divider_1536x960px.jpg"
  ["image-tablet-width"]=>
  int(1536)
  ["image-tablet-height"]=>
  int(960)
  ["image-tablet-crop"]=>
  string(75) "https://dev.xxxxxxxxxxxxx.com/wp-content/uploads/2014/08/BW-divider_1536x960px.jpg"
  ["image-tablet-crop-width"]=>
  int(1536)
  ["image-tablet-crop-height"]=>
  int(960)
  ["image-mobile-portrait"]=>
  string(75) "https://dev.xxxxxxxxxxxxx.com/wp-content/uploads/2014/08/BW-divider_1536x960px.jpg"
  ["image-mobile-portrait-width"]=>
  int(768)
  ["image-mobile-portrait-height"]=>
  int(480)
  ["image-mobile-portrait-crop"]=>
  string(75) "https://dev.xxxxxxxxxxxxx.com/wp-content/uploads/2014/08/BW-divider_1536x960px.jpg"
  ["image-mobile-portrait-crop-width"]=>
  int(768)
  ["image-mobile-portrait-crop-height"]=>
  int(480)
  ["image-mobile-landscape"]=>
  string(75) "https://dev.xxxxxxxxxxxxx.com/wp-content/uploads/2014/08/BW-divider_1536x960px.jpg"
  ["image-mobile-landscape-width"]=>
  int(960)
  ["image-mobile-landscape-height"]=>
  int(600)
  ["image-mobile-landscape-crop"]=>
  string(75) "https://dev.xxxxxxxxxxxxx.com/wp-content/uploads/2014/08/BW-divider_1536x960px.jpg"
  ["image-mobile-landscape-crop-width"]=>
  int(768)
  ["image-mobile-landscape-crop-height"]=>
  int(480)
}

正如您所看到的,它创建了具有正确宽度和高度的图像大小,但不是新的图像文件。相反,每个URL路径似乎完全相同,使整个事情有点无用。我以前从未遇到过这个问题。

我正在使用高级自定义字段插件上传我的图片。我认为这是WP问题。

我正在使用WP版本3.9.2 - 这篇文章的最新内容。

知道这里会发生什么吗?

谢谢, MIKEY。

1 个答案:

答案 0 :(得分:2)

显然,服务器没有PHP的GD图像库。 WP似乎无声地失败,只为每个调整大小提供相同的图像。

http://php.net/manual/en/book.image.php

我的开发人员安装了GD图像库,我安装了再生缩略图插件,以获取所有最新定义的尺寸。

https://wordpress.org/plugins/regenerate-thumbnails/

希望这有助于将来。