介绍
这篇文章给大家分享的是有关WordPress支持WebP格式图片的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
WordPress默认不支持WebP格式图片上传,将下面代码添加到当前主题函数模板功能。php中,即可解决上传问题。
function webp_filter_mime_types (, array 美元),{ 美元array [& # 39; webp # 39;],=, & # 39;图像/webp # 39;; return 美元数组; } add_filter (, & # 39; mime_types& # 39;,, & # 39; webp_filter_mime_types& # 39;,,,, 1,);
function webp_upload_mimes (existing_mimes美元),{ ,,,美元existing_mimes [& # 39; webp # 39;],=, & # 39;图像/webp # 39;; ,,,return existing_mimes美元; } add_filter (& # 39; mime_types& # 39;,, & # 39; webp_upload_mimes& # 39;);
虽然已经可以上传WebP格式的图片了,但在媒体列表中看不到缩略图,这是因为WordPress在用wp_generate_attachment_metadata()函数生成图片数据时,使用了file_is_displayable_image()函数判断文件是否为图片,判断WebP图片的结果为否,因此中断了保存图片数据的操作。
该函数位于:wp-admin/包括image.php展开
解决办法是在主题的功能。php里添加以下代码:
function webp_file_is_displayable_image(因此,美元,美元的路径),{ $ info =, @getimagesize (, path 美元;); if ($ info [& # 39; mime # 39;],==, & # 39;图像/webp # 39;), {=$ result 真实; } return 美元的结果; } add_filter (, & # 39; file_is_displayable_image& # 39;,, & # 39; webp_file_is_displayable_image& # 39;,,,, 2,),
function webp_is_displayable(因此,美元,美元的路径),{ if (result 美元;===,false), { 数组$ displayable_image_types =, (, IMAGETYPE_WEBP ); $ info =, @getimagesize (, path 美元;); if (空($ info)), { $ result =,假; },elseif (! in_array(信息[2],美元,美元displayable_image_types)), { $ result =,假; },{else =$ result 真实; } } return 美元的结果; } add_filter (& # 39; file_is_displayable_image& # 39;,, & # 39; webp_is_displayable& # 39;,,,, 2),
文本中的插图就是webp图片,虽然目前七牛,又拍云,阿里云oss,腾讯云因为等都支持webp,不过发现苹果设备并不支持webp图片,包括IOS版的微信,这也可能是WordPress一直不支持webp图片的原因吧。
感谢各位的阅读!关于WordPress支持webp格式图片的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!