Некоторые изображения, загруженные в WordPress, не отображаются в библиотеке мультимедиа. Изображения загружаются и даже обрезаются до определенных размеров, в медиатеке есть запись, но изображение для предварительного просмотра не отображается. Я даже могу использовать их в качестве рекомендуемого изображения, и они правильно отображаются на моем сайте.
Мне удалось найти причину проблемы: если в поле «Ключевые слова» в JPG есть специальные символы (например, немецкие умляуты), то эта проблема возникает. Как только я использую Exiftool для удаления поля «Ключевые слова» из JPG, в котором отображаются упомянутые проблемы, этот файл работает без проблем. Я мог проверить эту проблему на трех установках 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, которая показывает, что проблема используется несколькими редакторами, которые крайне не знакомы с компьютером. Сказать им использовать программное обеспечение на своем ПК для удаления неисправных тегов IPTC - это не пойдет. Но я также не хочу взламывать упомянутый файл ядра в реальной системе.
Обновление: вот два идентичных изображения, где одно показывает проблему, другое нет. Единственное отличие заключается в поле «ключевые слова», где одно имеет содержание «сладкий», а другое - «süß» (= немецкое слово для сладкого).
Ответы:
Я проверил это с помощью изображения, созданного мной в Фотошопе, где я вставил слово «Süss» в каждое мыслимое поле IPTC.
Я загрузил его в мою установку WordPress 4.6, в которой не установлены плагины для обработки изображений. Загрузка прошла гладко, правильные миниатюры были созданы в каталоге загрузки, и поле заголовка было загружено правильно из соответствующего поля IPTC.
Также миниатюра правильно отображалась в медиатеке.
Итак, я склонен сказать, что это действительно была ошибка , которая была решена с тех пор.
источник
Похоже, проблема возникает со специальными символами (в моем случае "â") в именах файлов. По крайней мере, это случилось со мной, и я никогда не редактировал exif-информацию, так что она относится не только к области IPTC. Теперь он работает, как и ожидалось, после редактирования имени файла и удаления акцента.
Самое странное, что, зная, что проблемы с кодировкой часто встречаются, я не могу найти ни одного поста или документа, говорящего о том, что специальные символы недопустимы или их следует избегать в именах файлов библиотеки WordPress, хотя, учитывая множество проблем, с которыми сталкиваются люди, было бы целесообразно никогда не использовать какие-либо ... или попросить WordPress поработать над этим. Может быть, по крайней мере, просто неудачные загрузки, если найден какой-либо spechar для обеспечения чистых имен и нет риска для дальнейшей проблемы.
Надеюсь, это кому-нибудь поможет. Кодирование символов всегда было таким беспорядком в информатике ... вздох ...
источник