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.