如何按照发布日期而不是菜单顺序对woocommerce分组产品进行排序?

时间:2015-04-30 17:02:19

标签: php wordpress filter woocommerce hook

我可以将哪些代码/过滤器添加到我的wordpress functions.php文件中,以通过发布日期而不是menu_order来修改分组产品的顺序? class-wc-product-grouped.php

$args = apply_filters( 'woocommerce_grouped_children_args', array(
    'post_parent'   => $this->id,
    'post_type'     => 'product',
    'orderby'       => 'menu_order',
    'order'         => 'ASC',
    'fields'        => 'ids',
    'post_status'   => 'publish',
    'numberposts'   => -1,
) );

我很确定你可以加入它,但只是不确定如何配置以下过滤器/钩子woocommerce_grouped_children_args

1 个答案:

答案 0 :(得分:0)

正如您所提到的,您只需要过滤通过$args过滤器传递的woocommerce_grouped_children_args即可。

add_filter( 'woocommerce_grouped_children_args', 'so_29973708_grouped_children_args' );
function so_29973708_grouped_children_args( $args ){
    $args['orderby'] = 'date';
    $args['order'] = 'DESC';
    return $args;
}

如果您需要帮助了解过滤器,我在how to use filters上写了一篇我认为非常好的教程

更新如果您没有看到任何更改,则可能是已分组产品的子项已存储在瞬态中。您需要删除此瞬态以立即查看更改。您可以通过管理员清除所有WooCommerce产品瞬态。导航至WooCommerce>System Status>Tools,然后点击按钮以清除瞬态。