有没有办法将图像调整为它们将在帖子中显示的实际大小? 我有用户导入大图像,然后在可视化编辑器中调整它的大小。 这很容易,因为他们只需拖动图像直到达到他们想要的大小,而无需先打开图像编辑器、调整图像大小、保存并作为单独的附件上传。 当然,这有时会导致帖子中的图像宽度为 100 像素,但实际上为 1500 像素。
是否有插件可以在保存新帖子时执行此操作? 我想保留现有的全尺寸图像(用于链接或稍后调整大小),但只需添加一个额外的尺寸(并将其保存在 _wp_attachment_metadata
对象),所以这篇文章有正确尺寸的图像,以及对全尺寸附件的引用。
当然,所有现有帖子也应该处理一次。 <img>
标签可能只有一个 width
只是一个 height
,或者都没有:这应该全部清理干净,所以他们都有正确的 width
, height
和那个尺寸的图像。
我创建了两个插件,它们一起应该可以解决我的需求。 他们目前处于早期的 alpha 阶段,欢迎所有评论。
基础插件是一个 按需缩放器. 此插件监视对上传目录中不存在文件的请求,并在需要时创建请求大小的图像。 例如, image-200x100.jpg
将创建并返回 image.jpg
, 但大小调整为 200 x 100 像素。 图像以该名称保存在目录中,因此服务器直接处理进一步的请求。
第二个插件, 调整 img 标签的大小修改 <img>
标签所以他们的 src
属性包括宽度和/或高度数据。 这允许第一个插件提供正确的图像。 他们一起做我想做的事,我只需要创建一个运行一次的函数来转换所有现有的帖子,但这应该很容易(我不想挂钩 the_content
对于应该只运行一次的东西)。
第三个“奖励”插件, 虚拟中间图像, 在 WordPress 中上传新图像时拦截中间图像的创建。 由于如果需要,它们仍然由第一个插件创建,这允许您指定多个图像大小而不占用磁盘空间,除非它们被实际使用。 这两个第一次工作不需要,但这是一个简单的添加,它突出了我仍然需要解决 WordPress 图像编辑器的事实,但我会在创建缩略图编辑器时这样做,这也将使用第一个插件。
我在插件目录中搜索了 "resize"
或者 "crop"
(后者用于另一个问题),并在公开的 Google 电子表格中记录了我的发现。 插件搜索的结果编号非常混乱(最后一页 "resize"
搜索显示“显示 273 个插件中的 145-150 个”),所以我可能漏掉了一些。 半相关说明:每个人似乎都认为世界需要另一个幻灯片插件。 似乎很少有人意识到 content_save_pre
可能是一个比重解析更好的过滤器 the_content
.
我还没有测试任何这些插件,但这里有一个插件列表,似乎可以满足我的需求。 我在括号中添加了“兼容至”版本号。
- ChoiceCuts Image Juggler,具有可通过 API (3.0.1) 访问的多个图像处理功能
- AutoThumb,将 URL 重写为使用 phpThumb (2.9.2) 的处理程序
- 图像符号链接,通过一个特殊的
[img]
简码 (2.9.2) - com_resize,将 URL 重写为使用 phpThumb 的处理程序,还有外部图像 (2.6)
- ImageScaler,根据需要创建新尺寸并更改图像中的 URL (2.3)
- ImageScaler Modded,ImageScaler (2.3.1) 的略微修改版本
个人想法: 前四个将 URL 重写为动态页面(类似于
/wp-content/plugins/my-plugin/image.php?src=[original src]&w=100&h=50
), 具有不同形式的缓存。 我更喜欢根据需要创建的真实图像,类似于 ImageScaler 采用的方法。 但是,我会将其拆分(并在评论中包含 hakre 的建议)并首先重写来自/wp-content/uploads/2010/11/image.jpg
到/wp-content/uploads/2010/11/image-100x50.jpg
,然后让脚本创建丢失的图像。 对该图像的第一个请求创建图像,所有后续请求都使用这个创建的图像。 这也允许我将功能拆分到不同的插件中。 我将在单独的答案中发布此解决方案。
这些插件将图像限制为某个最大尺寸(这与指定有何不同 $content_width
?):
- JP-redesign-images,检查热链接和超大图像(仅当它们太大时,如果它们只是调整大小则不检查)(3.0.1)
- Hungred Image Fit,检查过大的图像 (3.0.0)
由于其他原因,以下插件很有趣:
- TimThumb 满足 TinyMCE,在 TinyMCE 编辑器 (2.8.4) 中包含一个手动调整大小按钮
这是一篇 Community Wiki 帖子,因此如果您发现新插件,可以对其进行更新。
原文链接:https://www.wordpresshy.com/318413