通过计算项目对类别列表排序

时间:2017-02-21 05:41:25

标签: php wordpress woocommerce

例如,我在Woocommerce中有5个类别,如

  

A(3)(A类中的项目为3)

     

B(7)

     

C(22)

     

d(1)

     

E(0)

它们显示在类别页面中,并按照id。

的顺序排序

我想重新排列结果,以便在类别列表页面中显示,从高到低排序,如

  

C(22)

     

B(7)

     

A(3)

     

d(1)

     

E(0)

使用钩子pre_get_posts(或其他钩子)解决此问题是否有任何解决方案?

我试图测试钩子woocommerce_before_subcategory,它一次只显示一个类别,我无法编辑其中任何一个。

2 个答案:

答案 0 :(得分:1)

是的,有可能,请参阅wp_list_category

<?php wp_list_category('orderby=count'); ?>

答案 1 :(得分:1)

在Woocommerce中测试代码后,我找到了woocommerce_product_subcategories_args挂钩的解决方案。

add_filter('woocommerce_product_subcategories_args', 'ProductSubcategoryArguments', 999, 1);

function ProductSubcategoryArguments($arg=array()){
    $arg['order']='DESC';
    $arg['orderby']='count';
    return $arg;
}