我正在开发一个插件,可以从API获取图像URL,有些是PNG、JPG,还有一些是JPG,没有扩展。我一直在尝试使用download_url()
和media_handle_sideload()
为了添加图像,我希望可以将它们转换为WebP并通过wp_get_attachment_url()
. 此部分主要基于this code here, 这不适用于有无扩展的图像。(例如,此URLhttps://s.yimg.com/ny/api/res/1.2/5kThzlhC8ohGderVoKLJrw--/YXBwaWQ9aGlnaGxhbmRlcjt3PTcwNQ--/https://media.zenfs.com/en/evening_standard_239/b4cd0950143bb1ed165aa095f73a3315)
我试过了this solution, 但这并没有解决问题。然而,我可以看到,没有扩展名的图像URL实际上是JPG。我通过检查$tmp
而不是$imageurl
在内部image_type_to_extension( exif_imagetype( $tmp ) )
. 我还能够最终使所有图像URL以.tmp
.
除了没有扩展名的有问题的图像外,其他图像确实存储在媒体库中。从这里可以使用相同的附件URL将其转换为WebP,然后在前端提供服务吗?我还没有找到任何关于利用imagewp()
在插件中。
我有什么遗漏吗?还是我的做法完全错了?本质上,我试图在用户发出请求后显示WebP版本的图像,而不是返回的原始格式。
提前感谢任何能够提供帮助的人。