Bug oder Feature in WPML – Dateien nicht endgültig gelöscht

Wie so häufig recherchiere ich dann zu einem Phänomen, wenn ich bei einem Kunden ein Problem habe. In diesem Fall geht es um eine mehrsprachige Website, WPML und Dateien, die nicht gelöscht wurden. Der Kunde wunderte sich, warum trotz Löschung alter Versionen, bei den neuen Dateien immer eine Zahl angehängt wurde. -2, -3, -4, und so weiter. Offensichtlich löschte WordPress die Dateien gar nicht wirklich, was ein Blick auf den FTP-Server auch bestätigte. Nur warum?

Um ein Problem besser zu verstehen, ist es immer wichtig, es reproduzieren zu können. Ich lud also eine Datei hoch und versuchte es zu löschen. Die Mediathek befand sich dabei in der Grid-Ansicht:

Nach einem Klick auf das Bild komme ich auf die Einzelansicht des Bildes und habe unten ein paar Aktionslinks. Darunter auch „Endgültig löschen“:

Ein Blick auf den FTP zeigte jedoch, dass das Bild nicht gelöscht war. Alles klar, damit war das Problem bestätigt, aber ich wusste noch nicht, warum es passiert. Mit der Standard-Debugging-Methode des „Alle Plugins deaktivierens“ konnte ich recht schnell den Schuldigen eingrenzen. Wenn ich „WPML Multilingual CMS“ deaktivierte war das Problem nicht mehr vorhanden. Damit konnte ich nun eine Google-Suche starten und fand einen interessanten Hinweis:
https://wordpress.stackexchange.com/questions/262284/media-not-actually-deleted-on-disk-when-click-permanent-delete
und
https://wpml.org/errata/media-files-are-not-deleted-when-the-option-when-deleting-a-post-delete-translations-as-well-is-active/

Obwohl das eigentliche in dem Link verhandelte Problem gefixt war, brachte mich der Inhalt auf einen entscheidenden Punkt: Damit ein Bild nicht gelöscht wird, wenn es nur in einer Sprache entfernt wird, aber in einer anderen noch existiert, wird der Eintrag zwar aus der Mediathek gelöscht (in der entsprechenden Sprache), aber die Datei bleibt auf dem Server.

Das Problem war (und ist immer noch) – wenn ich die Sprache umstellte, dann war das Bild auch in der anderen Sprache nicht mehr sichtbar. Egal ob DE oder EN. Und noch verwirrender: Der sonst vorhandenen Auswahlpunkt „Alle Sprachen“ konnte gar nicht ausgewählt werden.

Erst eine Umstellung auf die Listenansicht brachte plötzlich das Bild hervor.

Und in der Listenansicht tauchte dann auch „Alle Sprachen“ wieder auf.

Wurde das Bild in DE hochgeladen, war es in der Listenansicht auch nur dort gelöscht. In EN und unter „Alle Sprachen“ wurde es korrekterweise wieder angezeigt.

Wenn das Bild in allen Sprachen gelöscht war, dann wurde es auch vom Server gelöscht. Damit war das finale Problem gefunden. Ein Anzeige-Bug in WPML für die Grid-Ansicht. Dann fehlte nur noch die Dokumentation für den Kunden, damit der Fehler in Zukunft umgangen werden kann.

Nun müsste ich noch WPML überzeugen, dass hier ein Bug vorliegt …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert