foto von valentina ivanova, unsplash
foto von valentina ivanova
|

Terms eine neue Taxonomie zuweisen

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] ); } }
Code-Sprache: PHP (php)

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

Deine E-Mail-Adresse wird nicht veröffentlicht.