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

How can I sort woocommerce grouped products by post date instead of menu order?

我可以将什么 code/filter 添加到我的 wordpress functions.php 文件中,以按 post 日期而不是 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,
) );

我很确定您可以连接到它,但不确定如何配置以下 filter/hook woocommerce_grouped_children_args

正如您所提到的,您只需要过滤通过 woocommerce_grouped_children_args 过滤器的 $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 并单击按钮以清除瞬变。