更改WooCommerce我的帐户客户订单的排序

时间:2019-05-23 08:00:50

标签: php wordpress sorting woocommerce orders

在WooCommerce中,客户可以登录其帐户并查看订单历史记录。默认情况下,订单显示的是最新的订单日期。

我想解决这个问题,因此日期最早的订单会首先显示。

我在模板文件woocoommerce/myaccount/orders.php文件中找不到从ASC / DESC更改顺序的任何地方。

<table class="woocommerce-orders-table woocommerce-MyAccount-orders shop_table shop_table_responsive my_account_orders account-orders-table">
    <thead>
        <tr>
            <?php foreach ( wc_get_account_orders_columns() as $column_id => $column_name ) : ?>
                <th class="woocommerce-orders-table__header woocommerce-orders-table__header-<?php echo esc_attr( $column_id ); ?>"><span class="nobr"><?php echo esc_html( $column_name ); ?></span></th>
            <?php endforeach; ?>
        </tr>
    </thead>

    <tbody>
        <?php foreach ( $customer_orders->orders as $customer_order ) :

有什么方法可以更改循环以首先显示最早的日期?

1 个答案:

答案 0 :(得分:1)

过滤器挂钩woocommerce_my_account_my_orders_query可以将'order'参数更改为ASC(升序),从而更改“我的帐户客户订单”列表上的排序行为:

add_filter( 'woocommerce_my_account_my_orders_query', 'my_account_orders_query_change_sorting' );
function my_account_orders_query_change_sorting( $args ) {
    $args['order'] = 'ASC'; // Default is 'DESC'

    return $args;
}

代码进入活动子主题(或活动主题)的functions.php文件中。经过测试和工作。