某些上传到WordPress的图像不会显示在媒体库中。图像被上传,甚至被裁剪为定义的尺寸,媒体库中有一个条目,但是预览图像不显示。我什至可以将它们用作特色图片,并且它们可以正确显示在我的网站上。
我能够找到问题的原因:如果JPG的IPTC“关键字”字段中有特殊字符(如德语变音符号),则会出现此问题。只要我使用Exiftool从显示上述问题的JPG中删除“关键字”字段,该文件就可以正常工作。我可以在不同公司托管的两个完全不同的Web服务器上的三个WordPress安装上验证此问题。Wordpress版本是4.4.1
。
我倾向于将其报告为WordPress错误。但是在此之前,我想进一步确定真正的问题。我可以发现,对于所有“不良”图像,表中都没有_wp_attachment_metadata
条目wp_postmeta
。
如果我入侵wp-admin/includes/image.php
文件并设置$meta['keywords'] = array();
为wp_read_image_metadata()
,则一切正常。显然在某处有一些代码使用其结果为该附件wp_read_image_metadata()
创建_wp_attachment_metadata
一行。但是,_wp_attachment_metadata
如果其中的编码字符串错误,则无法插入的代码在$meta['keywords']
哪里?
在我的装置中是否有挂钩可以解决该问题?一个显示该问题的WordPress安装被几位精通计算机的编辑使用。告诉他们使用PC上的软件删除有问题的IPTC标签是不行的。但是我也不想在实时系统上破解提到的核心文件。
更新:这是两张相同的图像,其中一张显示问题,另一张则没有。唯一的区别是在“关键字”字段中,一个字段的内容为“甜”,另一个为内容“süß”(德语为“甜”)。