Woocommerce product categories order

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?

Related posts

Leave a Reply

2 comments

  1. 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

  2. You can sort product categories by drag-and-drop. Notice that your mouse cursor turns into a hand when over a category row? Grab it and drag to its new position in the list. Job is done.