Alle Beitragsbilder in WordPress löschen
In diesem Beitrag findet ihr ein Snippet um alle Post Thumbnails auf einmal zu löschen.
Ab und zu möchte man bei einem WordPress-Projekt alle Beitragsbilder vollständig entfernen. Beispielsweise weil bei einer Migration der Daten das Entfernen und neu Hinzufügen der »Post Thumbnails« der schnellste Weg zum Ziel ist. In diesem Beitrag archivieren wir ein Snippet, mit dessen Hilfe ihr die Beitragsbilder entfernt.
WordPress: Alle Post Thumbnails löschen
Der folgende Befehl wird in die functions.php
geschrieben und löscht die Verknüpfung zwischen Beitrag und Beitragsbild. Technisch gesehen sind Beitragsbilder in WordPress ein Custom Field (benutzerdefiniertes Feld) mit dem Namen _thumbnail_id_
. Es wird also lediglich die ID des Beitragsbilds aus dem Custom Field gelöscht, um die Verknüpfung zu entfernen. Bitte beachtet, dass damit natürlich noch nicht die Bilddatei vom Server entfernt wurde.
Nachdem alle Verknüpfungen gelöscht wurden, müsst ihr das Snippet wieder aus der functions.php
entfernen.
global $wpdb;
$wpdb->query( "
DELETE FROM $wpdb->postmeta
WHERE meta_key = '_thumbnail_id'
");
Das Snippet lässt sich leicht modifizieren, um jedes beliebige andere Custom Field global zu leeren.
Aha. Und wo soll man den Befehl genau einsetzen?
Wie im Artikel zu lesen – in der functions.php
Hi,
dann hast Du die Thumbnails nur aus der Datenbank gekillt – auf dem Filesystem liegen sie ja noch. Warum möchtest Du das genau machen? Könnte Dir vielleicht dieses Plugin helfen?
https://de.wordpress.org/plugins/regenerate-thumbnails/
Hallo Michael, vielen Dank für deinen Kommentar. Das Plugin ist mir bekannt und dass die Daten nicht vom Server gelöscht werden, sondern nur die Verknüpfung in der DB, ist im Beitrag ja erwähnt. Das Snippet kam in einem jüngeren Projekt zum Einsatz und wurde von uns daher hier archiviert. Es gibt keinen akuten Anwendungsfall mehr.
Ah ich verstehe – mir hatte der einfach der Kontext gefehlt.