Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.
Problem: Der Kunde hat festgestellt, dass WPML den Post Type "Media" standardmäßig auf "translatable" setzt, was zu separaten Einträgen für jedes Bild in jeder Sprache führt. Nachdem der Kunde den Post Type "Media" auf "Not translatable" gesetzt hat, wurden alle Bilder dreifach in der Media Library angezeigt, was zu einer großen Anzahl von Dateien führte, die nicht manuell bearbeitet werden können. Lösung: 1. Wir empfehlen den Standardweg von WordPress zum Löschen der Bilder zu verwenden. 2. Es ist zu beachten, dass übersetzte Bilder keinen zusätzlichen Speicherplatz auf dem Server beanspruchen, da sie nur als Einträge in der Datenbank existieren und nicht als physische Dateien.
Sollte diese Lösung für Sie nicht relevant sein, weil sie veraltet ist oder nicht auf Ihren Fall zutrifft, empfehlen wir Ihnen, ein neues Support-Ticket zu öffnen. Wir empfehlen auch, die Seite mit bekannten Problemen zu überprüfen, die Version der dauerhaften Lösung zu verifizieren und zu bestätigen, dass Sie die neuesten Versionen von Themes und Plugins installiert haben. Für weitere Unterstützung können Sie sich gerne an unser Support-Forum wenden.
Dies ist das technische Support-Forum für WPML – das mehrsprachige WordPress-Plugin.
Mitlesen können alle, doch nur WPML-Kunden können hier Fragen veröffentlichen. Das WPML-Team antwortet im Forum an 6 Tagen pro Woche, 22 Stunden am Tag.
Wir haben heute festgestellt das WPML standardmäßig den Post Type "Media" auf "translatable" setzt und somit in der Media Library pro Sprache verschiedene Bilder hat/haben kann. Das ist uns aufgefallen weil wir auf einer Sprache ein Bild gelöscht haben es aber auf den anderen beiden Sprachen noch immer da war. Das wollen wir natürlich nicht, da die Bilder für die Sprachen alle gleich sind und wir so nur unsere WordPress Instanz "zumüllen". Ich hätte jetzt probiert über die Einstellungen beim Post Type "Media" diesen auf "Not translatable" zu setzen was grundsätzlich anscheinend genau das macht was wir wollen, nun ist aber das Problem:
Wir haben 28.000 Dateien in der Media Library. Wenn ich jetzt auf "Not translatable" setzt habe ich auf einmal 68.000 Dateien in der Media Library und so gut wie jedes Bild und jede Datei 3 mal drinnen, weil diese von vermutlich von den 3 unterschiedlichen Sprachen kommen. Händisch kann ich keine 68.000 Dateien durchgehen und das anpassen. Daher nun die Frage wie kann ich hier vorgehen? Die Dateien sind natürlich auch in weit über 3000 Posts verknüpft auf den 3 verschiedenen Sprachen und hier muss ich auch sicher gehen, dass die da bleiben. Wie gehe ich da jetzt vor? Was kann ich machen?
Aufgefallen ist mir, dass auf dem Server allerdings jede Datei nur 1 mal liegt. Wenn ich eine der 3 Dateien die ich in meiner Media Library jetzt habe lösche, wird die 1 Datei am Server gelöscht. Die Media Library zeigt aber weiterhin 2 Dateien an. Wie wird das behandelt?
das ist tatsächlich das erwartete Verhalten von WPML. Die Medien werden nur in der Datenbank und nicht als Datei dupliziert.
1. Wie in der WPML-Dokumentation beschrieben (https://wpml.org/documentation/getting-started-guide/media-translation/#id5), erstellt WPML keine zusätzlichen Bilder, sondern erzeugt einen neuen Eintrag in der Datenbank für jede Sprache. Wenn Sie jedoch WPML Media deaktivieren, erscheinen alle diese Bilder in Ihrer Medienbibliothek.
Wenn Sie diese Duplikate entfernen möchten, können Sie die folgenden Schritte durchführen:
1. Gehen Sie zu Medien > Bibliothek.
2. Verwenden Sie den Sprachauswahlschalter in der WordPress-Admin-Leiste, um die Sprache auszuwählen, die Sie entfernen möchten.
3. Die aufgelisteten Medien gehören zu dieser Sprache.
4. Wählen Sie alle Medien aus und wählen Sie "Dauerhaft löschen" im Menü "Bulk-Aktionen". Dies löscht nur die Medien der ausgewählten Sprache.
Ich habe mir dein verlinktes Ticket mit der SQL Query angeschaut und das ausprobiert. In der Tabelle wp_icl_translations bekomme ich mein richtiges Ergebnis von ca. 47.000 Files. Wir haben das nun Testweise mit 5 verschiedene Einträgen probiert, diese zu löschen und dann in den WPML Troubleshooting Settings die Ghost Entrys gelöscht. Allerdings hat unsere Media Library die Dateien immer noch angezeigt. Ebenso existiert das Media noch als "post" unter der datenbank wp_posts. Wie bekommen wir hier nun die duplikate raus?
Fraglich ist auch: Es gibt ja 3 Sprache und jedes Bild/PDF bzw. Datei in jeder Sprache aktuell in der Media Library. Wenn ich jetzt das Bild bei einem Post in meiner 2. Sprache als Featured Image gesetzt habe und es jetzt dann mit dieser SQL Query rauslösche, geht das dann nicht bei meinem Post wo es als Featured Image gesetzt wurde verloren? Das wäre nämlich sehr kritisch, da es sich wie gesagt um 47.000 Files handelt wo mindestens 30.000 verlinkt sind.
1. Ich kann nur den Standardweg von WordPress zum Löschen der Bilder empfehlen. Leider liegt das Erstellen von SQL-Abfragen zur Manipulation Ihrer Daten außerhalb des Rahmens dieses Forums, da dies die Funktionsweise Ihrer Website beeinträchtigen und Probleme in Ihrer Datenbank verursachen kann. Ich empfehle Ihnen, das von mir gesendete Ticket zu überprüfen, da der Benutzer am Ende bestätigte, dass die Lösung für ihn funktioniert hat.
2. Falls das Bild in einem Ihrer Inhalte eingefügt ist, wird das Löschen des Bildes dazu führen, dass der Inhalt ohne das Bild bleibt. In Ihrem Fall scheint es nicht notwendig zu sein, die Medien zu löschen, da sie auf Ihrer Website verwendet werden. Wie ich bereits sagte, nehmen übersetzte Bilder keinen Platz auf Ihrem Server ein, da es sich nur um Einträge in der Datenbank handelt und nicht um physische Dateien.