I have a problem with categories and subcategories in WordPress plugin – WooCommerce.
I’m creating a script which would create a categories and subcategories, the problem is that I don’t fully understand how all this works in WooCommerce DB structure.
That’s what I was able to do:
In “wp_terms”:
term_id | name | slug | term group
20 | Parent category | parent | 0
21 | Children category | children | 0
In “wp_term_taxonomy”:
term_taxonomy_id | term_id | taxonomy | description | parent | count
1 | 20 | product_cat | | 0 | 0
2 | 21 | product_cat | | 20 | 0
And that’s working, but why the hell this don’t:
In “wp_term_taxonomy”:
term_taxonomy_id | term_id | taxonomy | description | parent | count
1 | 20 | product_cat | | 21 | 0
2 | 21 | product_cat | | 0 | 0
You have to look into table wp_options for option_name “product_cat_children”, there is serialized category hierarchy.
Maybe because one is the parent and the other the child, so if you define this relation, it’s right that the opposite shouldn’t work.
You need one more step : add your catoegory to the right products in : wp_term_relationships
Once I had a problem: Subcategories were not displayed, despite the fact that both databases were filled correctly.
The following helped:
This will update the value of the product_cat_children field.
Everything worked.