Müssen mehr als 1.000 Bilder mit französischen Zeichen aktualisieren.
Folgendes hat für einen Testbeitrag funktioniert:
- Erstellt eine Kopie des Bildes ohne die FR-Zeichen
- Der Dateiname im Blog-Post wurde mit wp_update_post (WP-Funktion) aktualisiert.
- 'Anhang-Metadaten' mit wp_update_attachment_metadata aktualisiert (WP-Funktion)
- 'Angehängte Datei' mit update_attached_file aktualisiert (WP-Funktion)
Es sieht so aus, als könnte ich einfach Folgendes überspringen:
- 'Anhang-Metadaten' mit wp_update_attachment_metadata aktualisiert (WP-Funktion)
- 'Angehängte Datei' mit update_attached_file aktualisiert (WP-Funktion)
und ändern Sie einfach den Inhalt des Beitrags, sodass er mit dem folgenden Code auf die neuen Bilder verweist:
// Array used to update the post
$my_post = array(
'ID' => $post_ID,
'post_content' => $content_with_updated_file_name
);
// Update post content using the array above
wp_update_post( $my_post, true );
if (is_wp_error($post_ID)) {
$errors = $post_ID->get_error_messages();
foreach ($errors as $error) {
echo $error;
}
}
Ist das der richtige Weg oder sollte ich die 'Anhang-Metadaten' und die 'angehängte Datei' für jedes Bild, das ich umbenenne, aktualisieren?
Nun, alles hängt von Ihrem Anwendungsfall ab - kann das Umbenennen in großen Mengen mit Regex durchgeführt werden? Wenden Sie dann denselben regulären Ausdruck auf die Datenbank an, indem Sie beispielsweise http://wp-cli.org/commands/search-replace/ verwenden.
Wenn Sie es manuell machen müssen, schauen Sie sich vielleicht https://wordpress.org/plugins/media-file-renamer/ an.
Viel Glück!
Ich gehe davon aus, dass Sie ein Skript zum Umbenennen von über 1000 Bildern verwendet haben, sodass Sie wahrscheinlich dieselben Regeln auf eine MySQL-Aktualisierungsabfrage in den Tabellen wp_postmeta
und wp_posts
anwenden können, indem Sie eine REGEX- oder eine Reihe von REPLACE()
-Anweisungen verwenden.
Sie können dies mit einem SQL-GUI-Tool in phpMyAdmin oder mit WP CLI tun.
Spart das Herumspielen mit Wordpress-Funktionen.