Der Beitrag, geschriebem am 8. Juni 2022, ist schon etwas älter und könnte womöglich nicht mehr aktuell sein
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