WordPress 媒体库设置 Medium Size 是 300*300

我发现在Wordpress中设置了媒体中等大小为(300×300),但是WordPress实际裁剪的裁剪比例是(300×130),为什么会出现此情况,如何能让Wordpress裁剪成我设置的(300×300)?我在使用Wordpress Spectra插件,文章在使用特色图片的时候,选择了Medium size,但是图片显示的尺寸并不是300*300,但是我在Wordpress媒体库设置的Medium size 是300*300。

wordpress 媒体库图片尺寸设置

在WordPress中设置了中等大小为300×300,但实际生成的图片却是300×130,这确实令人困惑。这通常是因为WordPress的默认裁剪行为是保持原图比例进行缩放,而不是强制裁剪成*尺寸。下面我会帮你分析原因并提供解决方法。

为了更清晰地了解可能的原因和解决方案,请看下表:

可能的原因简要说明如何检查/解决方法
原图比例问题原图比例与1:1不符,WordPress为保持原比例,缩放后一边达到300px,另一边则按比例缩小。检查原始图片的尺寸比例。
WordPress的缩放模式WordPress默认对”中等大小”是缩放而非裁剪在后台“设置”->“媒体”中,确认是否只设置了尺寸,但没有勾选裁剪选项(该选项通常只对缩略图有效)。
主题或插件干扰你使用的主题或插件可能会覆盖默认的图片尺寸设置或引入自己的裁剪规则。暂时切换至WordPress默认主题(如Twenty Twenty-Four)并禁用所有插件后重新上传图片测试。
medium_crop 选项未设置要使”中等大小”强制裁剪为*尺寸,需启用此选项。在主题的 functions.php 文件中添加代码:update_option('medium_crop', 1); 

🛠️ 实施解决方案

1. 启用中等大小的强制裁剪(亲测生效)

*直接的方法是告诉WordPress你希望将”中等大小”也进行强制裁剪,而不仅仅是缩放。这需要通过代码来实现。

将以下代码添加到你当前主题的 functions.php 文件末尾(建议使用子主题进行操作,避免主题更新时修改被覆盖):

// 强制中等尺寸图片裁剪为*尺寸
if (false === get_option("medium_crop")) {
    add_option("medium_crop", "1");
} else {
    update_option("medium_crop", "1");
}

媒体库图片尺寸,添加并保存后,新上传的图片其中等尺寸应该就会被裁剪为300×300像素了。

2. 使用自定义图片尺寸(更灵活的方法)

如果你需要多个特定尺寸的图片,并且希望更灵活地控制,自定义图片尺寸是更好的选择。

同样,将以下代码添加到你的主题的 functions.php 文件中:

php

// 添加自定义图片尺寸
function my_custom_image_sizes() {
    add_image_size( 'my-custom-square', 300, 300, true ); // 300x300像素,硬裁剪
    // 你可以继续添加其他自定义尺寸,例如:
    // add_image_size( 'my-custom-banner', 800, 400, true ); 
}
add_action( 'after_setup_theme', 'my_custom_image_sizes' );

这段代码注册了一个名为 my-custom-square 的新图片尺寸(300×300,硬裁剪)。在上传图片时,WordPress会自动按照这个设置生成相应的图片。

在使用这个自定义尺寸的地方(如文章模板、主题文件或页面构建器中),你需要调用这个新的尺寸名称,而不是默认的”medium”。

3. 重新生成缩略图(关键步骤!)

重要提示:无论你采用*种还是第二种方法,之前的图片都不会自动重新生成。WordPress只会在上传图片时生成各种尺寸的图片。

对于已经存在于媒体库中的图片,你需要使用 「Regenerate Thumbnails」 这类插件来重新处理所有图片,让新的尺寸设置生效。

  1. 安装并激活 「Regenerate Thumbnails」 插件。
  2. 进入 工具 -> 重新生成缩略图
  3. 点击 “为所有附件重新生成缩略图” 并耐心等待过程完成。

⚠️ 注意事项

  • 原图尺寸:如果你的原图宽度或高度小于300px,WordPress默认不会放大图片。确保上传的图片至少有一条边大于或等于300像素。
  • 主题或插件冲突:极少情况下,某些主题或插件可能会干扰图片的生成过程。如果问题依旧,请尝试按照前表所述,暂时切换到默认主题并禁用所有插件进行测试,以排除冲突。
  • 检查实际调用:确保你在前台显示图片时(例如通过Spectra插件设置),调用的是”medium”尺寸或你自定义的尺寸名称。

💎 总结

出现设置的300×300变成300×130,核心原因是WordPress对”中等大小”默认采用按比例缩放。要使其强制裁剪为*尺寸,你需要:

  1. 代码配置:通过在 functions.php 中添加代码启用 medium_crop 选项或创建自定义图片尺寸。
  2. 重新生成:使用「Regenerate Thumbnails」插件重新处理现有图片
  3. 检查原图:确保原始图片尺寸足够大。

希望这些解释和步骤能帮助你解决问题。如果还有疑问,欢迎继续提问。

滚动至顶部
扫描微信二维码联系我们 关闭