Automaticky přiřadí všechny nadřazené kategorie.
Jednou se mi ale stalo, že se produktu přiřadila náhodná kategorie a už nešla odebrat.
<?php
function gog_set_product_parent_category($product_id, $product) {
$categories = wp_get_post_terms($product_id, 'product_cat');
if (!empty($categories)) {
foreach($categories as $cat) {
while($cat->parent != 0 && !has_term($cat->parent, 'product_cat', $product)){
wp_set_object_terms($product_id, array($cat->parent), 'product_cat', true);
$cat = get_term($cat->parent, 'product_cat');
}
}
}
}
add_action('woocommerce_update_product', 'gog_set_product_parent_category', 20, 2);