Изменить сортировку WooCommerce Мои учетные записи клиентов - PullRequest
2 голосов
/ 23 мая 2019

В WooCommerce клиенты могут войти в свою учетную запись и просмотреть историю заказов.По умолчанию заказы отображаются с самой новой датой заказа.

Я хочу перевернуть это, поэтому заказ с самой старой датой отображается первым.

Я не могу найти место дляизменить порядок из ASC / DESC, просматривая файл шаблона woocoommerce/myaccount/orders.php file.

<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 Ответ

1 голос
/ 23 мая 2019

Фильтр 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 вашей активной дочерней темы (или активной темы). Проверено и работает.

...