Sicherlich ist das keine Funktionalität, die man täglich braucht. Grundsätzlich geht allerdings manche Abfrage und auch manches Update schneller, wenn man WordPress-Datenbank-Funktionalität nutzt, bestimmte Werte in bestimmten Tabellen abzufragen und / oder zu ändern.
Beispielfall dafür waren Attribute für WooCommerce-Produkte, die ausschließlich für Zuordnungszwecke angelegt waren. Attribute sind zwar auch Taxonomien, doch sie verursachen auch post_meta-Einträge bei Produkten, die es dafür braucht, Eigenschaften zur Generierung von Variationen heranziehen und / oder auf den Produktseiten sichtbar zu machen.
Nachfolgendes Codebeispiel erledigte die Umwandlung (nicht vergessen, vorher ein Backup der Datenbank zu machen!)
function convert_attribute_terms() {
global $wpdb;
$results = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}term_taxonomy WHERE taxonomy = 'alte_taxonomy'" );
foreach ( $results as $term ) {
$wpdb->update( $wpdb->prefix . 'term_taxonomy', [ 'taxonomy' => 'neue_taxonomy' ], ['term_id' => $term->term_id] );
}
}
Da es sich hierbei üblicherweise um einmalige Aktionen handelt, kann die Funktion nach erfolgreicher Konvertierung gelöscht werden.
Nach „Taxonomy Switcher“ oder „Switch Terms“ zu suchen bringt auch Plugins im WordPress-Repository zutage, die den Job erledigen.
Um zu vermeiden, dass es zu 404-Fehlern kommt anschließend die Permalink-Einstellungen neu speichern.
Schreibe einen Kommentar