7
votes

Woocommerce 2.6.x has a special page at the user account (My Account) area where it displays the user's previous Orders.

This page is now paginated and it displays as default 15 items/page.

Here the screenshot of the woocommerce storefront theme Orders area with 8 lines: enter image description here

I Can't find the way to change this.

How can I show only 7 items instead of the default number?

Thanks.

1

1 Answers

8
votes

Using a custom hooked function in woocommerce_my_account_my_orders_query hook, you can alter the orders query customizing the post_per_page argument to 7, just as you want.

Here is that code:

add_filter( 'woocommerce_my_account_my_orders_query', 'custom_my_account_orders', 10, 1 );
function custom_my_account_orders( $args ) {

    $args['posts_per_page'] = 7;
    return $args;
}

For woocommerce 3+ use limit instead:

add_filter( 'woocommerce_my_account_my_orders_query', 'custom_my_account_orders', 10, 1 );
function custom_my_account_orders( $args ) {
    // Set the post per page
    $args['limit'] = 7;

    return $args;
}

Code goes in function.php file of your active child theme (or active theme). Tested and works.

Note: Normally the default value for storefront theme and other themes too when displaying the list of orders in my account pages is 10 (but not 15).