it-swarm.com.de

Hochgeladene Bilder werden in der Medienbibliothek nicht angezeigt, wenn IPTC-Schlüsselwörter Sonderzeichen enthalten

Einige Bilder, die in WordPress hochgeladen wurden, werden nicht in der Medienbibliothek angezeigt. Die Bilder werden hochgeladen und sogar auf die definierten Größen zugeschnitten. Es gibt einen Eintrag in der Medienbibliothek, das Vorschaubild wird jedoch nicht angezeigt. Ich kann sie sogar als empfohlenes Bild verwenden und sie werden auf meiner Website korrekt angezeigt.

Ich konnte die Ursache des Problems finden: Wenn im IPTC-Feld "Keywords" in den JPGs Sonderzeichen (z. B. deutsche Umlaute) enthalten sind, tritt dieses Problem auf. Sobald ich mit Exiftool das Feld "Keywords" aus einem JPG entferne, in dem die genannten Probleme angezeigt werden, funktioniert diese Datei problemlos. Ich konnte dieses Problem bei drei WordPress-Installationen auf zwei völlig unterschiedlichen Webservern überprüfen, die von verschiedenen Unternehmen gehostet wurden. Die Wordpress-Version ist 4.4.1.

Ich bin geneigt, dies als WordPress-Fehler zu melden. Aber vorher möchte ich das eigentliche Problem noch näher erläutern. Ich konnte feststellen, dass für alle "schlechten" Bilder kein _wp_attachment_metadata-Eintrag in der wp_postmeta-Tabelle vorhanden ist.

Wenn ich die wp-admin/includes/image.php-Datei hacke und $meta['keywords'] = array(); in wp_read_image_metadata() einstelle, funktioniert alles einwandfrei. Offensichtlich gibt es irgendwo einen Code, der das Ergebnis von wp_read_image_metadata() verwendet, um eine _wp_attachment_metadata-Zeile für diesen Anhang zu erstellen. Aber wo ist dieser Code, der _wp_attachment_metadata nicht einfügt, wenn es ein Problem mit falsch codierten Zeichenfolgen in $meta['keywords'] gibt?

Und gibt es einen Haken, um dieses Problem in meinen Installationen zu umgehen? Eine WordPress-Installation, die zeigt, dass dieses Problem von mehreren Editoren verwendet wird, die extrem unzufrieden mit dem Computer sind. Es ist ein Kinderspiel, ihnen zu sagen, dass sie eine Software auf ihrem PC verwenden sollen, um die fehlerhaften IPTC-Tags zu entfernen. Aber ich möchte die erwähnte Kerndatei auch nicht auf einem Live-System hacken.

Update: Hier sind zwei identische Bilder, bei denen eines das Problem zeigt, das andere nicht. Der einzige Unterschied besteht im Feld "Schlüsselwörter", wo einer den Inhalt "süß" hat, der andere "süß".

 image that does not work  working image 

8
z80crew

Ich habe dies mit einem Bild getestet, das ich selbst mit Photoshop erstellt habe, wobei ich das Wort "Süss" in jedes denkbare IPTC-Feld eingefügt habe.

Ich habe es auf meine WordPress 4.6-Installation hochgeladen, auf der keine Plugins für die Bildbearbeitung installiert sind. Das Hochladen verlief reibungslos, die richtigen Thumbnails wurden im Upload-Verzeichnis erstellt und das Beschriftungsfeld wurde korrekt aus dem entsprechenden IPTC-Feld geladen.

Außerdem wurde die Miniaturansicht in der Medienbibliothek korrekt angezeigt.

Ich bin also geneigt zu sagen, dass dies in der Tat ein Fehler war, der seitdem behoben wurde.

2
cjbj

Das Problem scheint auch bei Sonderzeichen (in meinem Fall "-") in Dateinamen aufzutreten. Zumindest ist mir das passiert, und ich habe keine exif-Informationen bearbeitet, sodass es nicht nur um das IPTC-Feld geht. Nach dem Bearbeiten des Dateinamens funktioniert es nun wie erwartet und der Akzent wird entfernt.

Das Seltsamste ist, dass ich weiß, dass Kodierungsprobleme häufig auftreten. Ich kann keinen Post oder Doc finden, der sagt, dass Sonderzeichen nicht akzeptabel sind oder in Dateinamen von WordPress-Bibliotheken vermieden werden sollten ... oder WordPress bitten, daran zu arbeiten. Vielleicht scheitern zumindest Uploads einfach, wenn Spechar gefunden wird, um saubere Namen und kein Risiko für weitere Probleme zu erzwingen.

Hoffe das hilft jemandem. Das Kodieren von Zeichen war in der Informatik schon immer so ein Chaos ... seufz ...

0
Omniarchos