Is it possible to sort product categories?
I have a category with a lot of subcategories. On the category page all the subcategories is listed. Right now I can only change the order by drag and drop in the admin panel. But that is very time consuming with a lot of categories. Any way to change the order without using drag and drop?
2 Answers
Woocommerce stores ‘order’ metakeys in the table wp_woocommerce_termmeta
. The mechanism it uses is the same as menu_order
for posts.
Something like this should work:
$terms = get_terms('product_cat');
//sort $terms somehow
$i = -1;
foreach ($terms as $term) {
$i++;
update_woocommerce_term_meta( $term->id, 'order', $i);
}
The same procedure can be used to sort other Woocommerce taxonomies such as product_tag
and Product Attributes. For a Product Attribute named Size, the taxonomy would be pa_size
, and you should replace ‘order’ by order_pa_size