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

标签 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 ) :

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

最佳答案

过滤器 Hook 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 文件。测试和工作。

关于php - 更改 WooCommerce 我的帐户客户订单的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56270594/

相关文章:

php - Laravel 5:使用 Route::delete 在 RouteCollection.php 中获取 MethodNotAllowedHttpException 删除用户记录

wordpress - Google Analytics 不再跟踪所有表单提交

css - 联系表格 7 边距样式问题

html - 当我将鼠标悬停在导航中的菜单项上时出现白线

Excel VBA 通过连续单击单元格/文本按多个条件排序

java - 使用父级对链式对象进行排序

php - 代码不显示其他表中的记录

php - 如何在此代码中添加一个动态链接选择框

php - Laravel 5 将数据从 Controller 传递到命令

sorting - powershell 排序多维数组