WordPressにアップロードされた一部の画像がメディアライブラリに表示されません。画像がアップロードされ、定義されたサイズにトリミングされます。メディアライブラリにエントリがありますが、プレビュー画像は表示されません。注目の画像として使用することもでき、私のウェブサイトに正しく表示されます。
問題の原因を見つけることができました。JPGのIPTCの「キーワード」フィールドに特殊文字(ドイツ語のウムラウトなど)がある場合、この問題が発生します。Exiftoolを使用して、前述の問題を示すJPGから「キーワード」フィールドを削除するとすぐに、このファイルは問題なく機能します。異なる会社がホストする2つのまったく異なるWebサーバー上の3つの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']
ますか?
そして、私のインストールでその問題を無効にするフックはありますか?問題が非常にコンピュータに精通していない複数のエディタによって使用されていることを示す1つのWordPressインストール。PCのソフトウェアを使用して、障害のあるIPTCタグを削除するように指示することはできません。しかし、私はまた、ライブシステムで上記のコアファイルをハッキングしたくありません。
更新: 1つは問題を示し、もう1つは問題を示さない2つの同一の画像です。唯一の違いは、「キーワード」フィールドにあり、1つは「甘い」、もう1つは「süß」(=ドイツ語の甘い単語)という内容です。