【问题标题】:Remove image size from image URL WordPress从图像 URL WordPress 中删除图像大小
【发布时间】:2020-09-01 21:12:31
【问题描述】:

我最近刚刚将一些旧博客文章从一个站点迁移到另一个站点。图像也已导入。但是,现在我的大多数图像都返回 404 错误。

图片目前链接到 /wp-content/uploads/2018/05/image_name-800x600.jpg。我的问题是 800x600 是已添加的自定义图像尺寸。我尝试添加对 800x600 的主题支持,然后使用“强制重新生成缩略图”WordPress 插件重新生成缩略图。这似乎没有解决任何问题。

add_theme_support( 'custom-size' );
add_image_size( 'custom-size', 800, 600 );

然后我尝试了仅使用默认 WordPress 图像大小的力量:

function remove_extra_image_sizes() {
    foreach ( get_intermediate_image_sizes() as $size ) {
        if ( !in_array( $size, array( 'thumbnail', 'medium', 'medium_large', 'large' ) ) ) {
            remove_image_size( $size );
        }
    }
}

add_action('init', 'remove_extra_image_sizes');

这可以很好地工作,并确保只有缩略图、中、中大和大图像尺寸可用。但是,由于博客文章中的 URL 尚未更新,我的图片仍然返回 404。

我想我可以使用 Velvet blue 插件进行搜索和替换,并搜索所有出现 404 错误的图像。但是,我想知道是否有更聪明的方法来更新所有的 URL,因为我需要很长时间才能找到所有 404 图像 URL。我一直在查看数据库等中的 post_meta,以查看是否可以找到 800x600 的图像 URL。

【问题讨论】:

  • 您可以发布您的 add_image_size 代码吗?
  • 我已经用 add_image_size 代码更新了问题 :)

标签: php mysql database wordpress replace


【解决方案1】:

您应该将add_image_size 包裹在一个函数中并挂钩到after_theme_setup

add_action('after_setup_theme', 'he_add_image_sizes');
function he_add_image_sizes(){
    add_image_size('custom-size', 800, 600, array( 'center', 'center'));
}

然后重新生成缩略图。我个人更喜欢这个插件。 Regenerate Thumbnails 这列出了所有可用的缩略图大小,因此您可以验证您的 custom size 是否已实际设置。

【讨论】:

  • 谢谢。我可以在插件将重新生成的大小列表中看到 800x600 大小,但是在成功运行 regenerate 后,我在上传文件夹中看不到 800x600,这意味着图像仍然返回 404。:(
  • 哦,我明白了。它无法生成 800x600 并出现以下错误:“缩略图将大于原始”。是否有可能强制再生?
猜你喜欢
  • 1970-01-01
  • 2014-12-01
  • 2014-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-14
相关资源
最近更新 更多