缩略图即使在选择“裁剪缩略图以精确尺寸”之后也不会被裁剪

时间:2014-02-19 作者:Himanshu Jansari

我正在将Wordpress站点从一个域移动到另一个域。在旧域中,WP版本为3.5.2,而在新域中,WP版本为3.8.1。

有一个名为“quot;2002年“;它只包含一个图像库。文本代码如下所示:

[gallery columns="6" ids="318,319,320,321,322"]
在旧网站中,它如下所示:

Thumbnail grid view in the old website

而在新网站中,它看起来是这样的:

Thumbnail grid view in the new website

我已将缩略图大小宽度和高度设置为150,并在设置中选中了将缩略图裁剪为精确尺寸(通常缩略图是成比例的);媒体设置。我还通过它的插件重新生成了缩略图。但它仍然显示出同样的情况。

我在新网站上遗漏了什么吗?

更新:我们不要认为我已经移动了网站。我所做的是:我创建了一个新页面。添加了图像库。设置最大宽度和高度。重新生成的图像。但它不会像您在第二幅图像中看到的那样裁剪图像。仅供参考:我已安装Jetpack应用程序(如果可能导致此问题)

2 个回复
SO网友:Gr8WhiteNorth

考虑使用内置的WP工具(在管理仪表板的“工具”下)将旧WP版本中的内容导出到新WP版本中。确保选中了“导出图像”框。这并不总是对我有效。您也可以从旧网站库中导出图像并将其导入到新网站。

SO网友:Tyler Johnson

需要考虑的一件事是,图像可能比裁剪尺寸小。如果这是真的,WordPress将不会裁剪图像,而是将其保留,从而使图像保持原样。

尝试将此函数放置在函数中。php文件或自定义插件:

function wpdev_thumbnail_crop_fix($default, $orig_w, $orig_h, $new_w, $new_h, $crop) {
  if(!crop) return null; // Let the WordPress default function handle this.

  $aspect_ratio = $orig_w / $orig_h;
  $size_ratio = max($new_w / $orig_w, $new_h / $orig_h);

  $crop_w = round($new_w / $size_ratio);
  $crop_h = round($new_h / $size_ratio);

  $s_x = floor(($orig_w - $crop_w) / 2);
  $s_y = floor(($orig_h - $crop_h) / 2);

  return array(0, 0, (int) $s_x, (int) $new_w, (int) $new_h, (int) $crop_w, (int) $crop_h);
}
add_filter(\'image_resize_dimensions\', \'wpdev_thumbnail_crop_fix\', 10, 6);
然后运行“重新生成缩略图”,看看会发生什么。

结束

相关推荐

show all the posts thumbnails

我想通过每个帖子的特色图片显示所有帖子。有什么捷径吗?或者你能给我一些如何实现这一点的建议吗?谢谢