¿Cómo se guardan las categorías y subcategorías para Woocommerce en DB?

Tengo un problema con las categorías y subcategorías en el complemento WordPress – Woocommerce. Estoy creando un script que crearía categorías y subcategorías, el problema es que no entiendo completamente cómo funciona todo esto en la estructura de WooCommerce DB.

Eso es lo que pude hacer:

en "wp_terms":

term_id | name | slug | term group 20 | Parent category | parent | 0 21 | Children category | children | 0 

en "wp_term_taxonomy":

 term_taxonomy_id | term_id | taxonomy | description | parent | count 1 | 20 | product_cat | | 0 | 0 2 | 21 | product_cat | | 20 | 0 

Y eso está funcionando, pero ¿por qué diablos esto no?

en "wp_term_taxonomy":

 term_taxonomy_id | term_id | taxonomy | description | parent | count 1 | 20 | product_cat | | 21 | 0 2 | 21 | product_cat | | 0 | 0 

¿Alguna pista?

Muchas gracias a todos por adelantado. 🙂

 function getParentCategories() { global $wpdb; $sql = "SELECT term_id as id, name, slug FROM wp_terms where term_id in (SELECT term_id FROM wp_term_taxonomy where parent = 0 and taxonomy = 'category') order by name asc"; $parents = $wpdb->get_results( $sql ); return $parents; } function getChildCategories($id) { global $wpdb; $sql = "SELECT term_id as id, name, slug FROM wp_terms where term_id in (SELECT term_id FROM wp_term_taxonomy where parent = $id and taxonomy = 'category') order by name asc"; $children = $wpdb->get_results( $sql ); return $children; } 

Tal vez porque uno es el padre y el otro el hijo, por lo que si define esta relación, es correcto que lo contrario no funcione.

Debe search en la tabla wp_options para option_name "product_cat_children", hay una jerarquía de categorías serializada.