从 WordPress 图像 URL 中删除图像宽度和高度

Posted

技术标签:

【中文标题】从 WordPress 图像 URL 中删除图像宽度和高度【英文标题】:Remove image width and height from WordPress image URL 【发布时间】:2014-12-01 02:34:14 【问题描述】:

有没有办法关闭自动添加到我的 WordPress 图片 URL 的 -widthxheight?比如,比如;

http://xevens.com/projects/xe/wp-content/uploads/2014/10/alaska_winter_nights-1366x768-300x168.jpg http://xevens.com/projects/xe/wp-content/uploads/2014/10/alaska_winter_nights-1366x768.jpg

在大多数情况下,我不需要 300x168。现在我需要图像是它的原始尺寸。如果没有办法做到这一点,你能不能至少给我酿造一个不错的小 REGEX,这样我就可以通过 jQuery 摆脱 -300x168 了?

谢谢!

【问题讨论】:

所以您总是使用原始尺寸的图像?检查add_image_size的functions.php 类似 find: -300x168\.jpg replace \.jpg 【参考方案1】:

您可以像这样使用简单的正则表达式:

-\d+[Xx]\d+\.

Working demo

您可以将匹配的内容替换为.,如屏幕截图所示

【讨论】:

谢谢!你是救世主。 *** 可能已经准备好阻止我的帐户询问“低质量”正则表达式问题,但实际上你们帮助我摆脱了 HOURS 的挫败感 :)【参考方案2】:

根据 WordPress 图片的情况,我可以想到一些正则表达式的变体。

1

如果您想要一个仅从 wp-content/uploads 中调整大小的图像中选择图像名称并排除调整大小部分的正则表达式,您可以做一些更具体的事情: Working Demo

\/wp-content\/uploads\/[0-9]4\/[0-9]2/(.*)(?:-[0-9]1,5x[0-9]1,5)(\..2,4)

$1 组选择文件名(不包括调整大小的部分),$2 组选择扩展名

2

或者,如果您正在移动库并想要更改 URL,即使是未调整大小的图像,但仍需要排除文件名的调整大小部分:Working Demo

\/wp-content\/uploads\/[0-9]4\/[0-9]2/(.*)(?:-[0-9]1,5x[0-9]1,5)(\..2,4)|\/wp-content\/uploads\/[0-9]4\/[0-9]2/(.*)

组 $1 选择文件名(不包括调整大小的部分),组 $2 选择扩展名,组 $3 选择那些没有调整大小的文件的整个文件名。如果您输出 $1$2$3,它将结合 $1 和 $2,或显示 $3 - 所以您总是得到没有调整大小部分的文件名。

3

或者,如果您只想为任何图片上传选择文件名的调整大小部分:Working Demo

\/wp-content\/uploads\/[0-9]4\/[0-9]2/.*(-[0-9]1,5x[0-9]1,5)\..2,4

$1 组选择 wp-content/uploads 中文件的大小调整部分

4

或者您可能想为任何调整大小的图像选择整个 url:Working Demo

(\/wp-content\/uploads\/[0-9]4\/[0-9]2/.*-[0-9]1,5x[0-9]1,5\..2,4)

$1 选择包含 wp-content/uploads 和任何年/月文件夹并且具有调整大小的图像的任何 url(例如:包含 -123x456.jpg)

我在迁移 WordPress 网站时为所有图像设置重定向时使用了上面的 #2。我们不再想使用 YYYY/MM 文件夹,并且我们有不同的图像调整比例。正则表达式允许旧图像重定向到全尺寸图像,因此至少它们不会简单地得到 404。

【讨论】:

以上是关于从 WordPress 图像 URL 中删除图像宽度和高度的主要内容,如果未能解决你的问题,请参考以下文章

从 WordPress REST API JSON 响应中提取图像 url

更改 Wordpress 媒体图像 URL

我需要从我的 wordpress 媒体库中删除重复的图像

如何删除从 wordpress 上的图像附件生成的页面?

Wordpress-从内容中删除图像

从 Wordpress 媒体库中获取单个特定图像