The Orders admin list gives you one filter at a time
You need the intersection: pending orders over $500 from the last 30 days that include a specific product. WooCommerce's built-in Orders list lets you filter by status, or by date, or by customer, one at a time. You can't combine.
For automation, "follow up on every high-value pending order", "refund everyone who bought a defective product last week", you need programmatic querying. That means custom wc_get_orders calls, which means PHP, which means a developer.
What most people do instead
A better way: combine filters, pipe into macros
Run filter order with any combination of filters, status, total range, date range, email, product, customer role. Results include full order details (number, total, status, email, line items) and feed directly into a macro's for_each loop for bulk actions.
Shown in advanced mode, where commands start with tp. In easy mode you type the same command without the tp prefix.
Look back by days, no date math. Pass -days=7 for the past week or -days=30 for the month. Perfect for scheduled macros that run "every Monday, find pending orders from the past week."
How it works
The command calls wc_get_orders with a query built from your parameters, then returns each matching order's full context, number, total, status, customer email, line items, dates. Default limit is 200. Pass -limit=-1 for unbounded.
| Parameter | Value |
|---|---|
-status | pending, processing, completed, on-hold, cancelled, refunded, failed |
-total-above / -total-below | Order total range (e.g., -total-above=100) |
-days | Orders from the last N days (e.g., -days=7) |
-customer | Customer email (exact match) |
-product | Find orders containing a specific product ID |
-limit | Default 200. -1 for unlimited. |
| Can be used in |
Real example
Your store wants to chase abandoned checkouts: every order sitting unpaid from the past week should get a reminder, and your team should see the stragglers.
You build a scheduled macro that runs daily: tp filter order -status=pending -days=7, then for each result, send a template email reminding the customer to complete payment. A second weekly run posts the same list to Slack so the team can follow up on the orders that still have not paid. No manual checking.
The rule runs itself. You stop micromanaging the pending queue.
Goes further with TrueCommander
Frequently asked questions
tp filter order -status=completed -days=7 returns this week's completed orders from the navigator, with the details attached.-total-above=100 to find large orders worth a personal thank-you, or -total-below=20 to spot small orders, and combine with a date range to scope it.-customer=email@example.com returns a single customer's orders, and -product=123 returns every order that contains a specific product.-limit to change that, or -limit=-1 for no cap.