54
This is a neat custom function that you can use in your WooCommerce customization. It can be helpful to know the list of orders placed by the current user ID, for example, if they are in their “My Account” page and you have a custom tab where you want to show e.g. only failed orders. Sooner or later this is something you’ll need. Enjoy!
PHP Snippet: Get List of Orders By Status For Logged In User
Usage: feel free to use the function tutoraspire_get_current_user_orders( ‘completed’ ) in your own code. You can rename it to whatever you want, as long as you define the function before using it. You can use whatever order status, including custom order statuses.
/**
* @snippet Get Logged In Customer Orders
* @how-to Get tutoraspire.com FREE
* @author Tutor Aspire
* @compatible WooCommerce 6
* @donate $9 https://tutoraspire.com
*/
function tutoraspire_get_current_user_orders( $status = '' ) {
$args = array( 'customer' => get_current_user_id() );
if ( $status ) $args['status'] = 'wc-' . $status;
return wc_get_orders( $args );
}
add_action( 'woocommerce_account_my-shipments_endpoint', 'tutoraspire_account_tab_content_ship' );
function tutoraspire_account_tab_content_ship() {
$customer_shipments = tutoraspire_get_current_user_orders( 'shipment' );
wc_get_template(
'myaccount/orders.php',
array(
'customer_orders' => $customer_shipments,
'has_orders' => 0 total,
)
);
}