Last updated: 2026-07-22
Direct answer
To show a customer's phone number in the WooCommerce Orders list, add one read-only column that uses the order object already attached to the current row. Read the saved billing phone, escape it, and show nothing when the row or value is uncertain. Register the native column hooks for both classic order storage and High-Performance Order Storage (HPOS). Do not query other orders, edit customer data, or send phone numbers to a remote service.
Customer Phone for WooCommerce Orders follows that boundary. Free shows the saved billing phone in one Phone column. Pro can add a different saved shipping phone and safe click-to-call links. The planned Pro offer is $39 per year for one site after a 14-day no-card trial; checkout remains a separate release step.
Choose the smallest suitable approach
| Approach | What it changes | Main tradeoff |
|---|---|---|
| Focused read-only column | Shows the saved phone on the native Orders list | Deliberately excludes editing, export, search, and messaging |
| Custom PHP snippet | Adds code you maintain | HPOS hooks, row binding, escaping, permissions, and rollback become your responsibility |
| Broad columns or CRM suite | Adds many fields and workflows | More setup and a wider data, compatibility, and support surface |
The problem appears in real support threads
A WooCommerce merchant asked how to display a phone-number column on the Orders page after the available custom-field route did not cover HPOS.
Another merchant expecting many orders wanted phone and transaction details directly on the Orders page instead of opening each order, and reported disabling HPOS to keep a workaround working.
A separate operator asked how to add customer phone and email to the backend order list.
These are individual public reports. They establish a repeated, visible workflow problem, but they do not prove broad demand, paid conversion, or StoreFixKit sales.
Why HPOS changes old snippets
WooCommerce documents High-Performance Order Storage as a different order-storage system with compatibility requirements for extensions. Code written only for the legacy shop_order posts screen can disappear or read the wrong context after HPOS is enabled.
A safe column should therefore:
- register the native classic and HPOS column hooks;
- use only the
WC_Orderbound to the current row; - verify the row ID before reading legacy output;
- check that the current user can view WooCommerce orders;
- escape the phone before display; and
- return no added output when the order or phone is missing, malformed, or over the limit.
That is safer than fetching an order by a loose global ID inside every cell.
Install and use it safely
- Confirm WooCommerce 8.9 or newer is active.
- Install and activate Free 0.1.13.
- Open WooCommerce > Orders.
- Open Screen Options and enable Phone if the column is hidden.
- Compare one test row with the billing phone saved on that order.
- Check an order with no billing phone and confirm the cell stays empty.
- Deactivate Free and confirm the added column disappears.
Free has no settings page. First value appears on the native Orders list after activation.
What Free and Pro display
Free shows one escaped billing phone from the current order. It does not create a link because not every stored value can be converted to a safe telephone target.
Licensed Pro adds two bounded display changes:
- a well-formed value can become a
tel:link, including a recognized extension; and - a saved shipping phone can appear only when it is nonempty and differs from billing.
Ambiguous values remain plain text. Pro does not add SMS, WhatsApp, tracking, CRM, search, editing, or export. If Pro or the license service is unavailable, the complete Free billing-phone column remains local and active.
Know the support boundary
The supported surfaces are WooCommerce's native classic and HPOS Orders lists. This release does not change:
- WooCommerce Analytics;
- frontend account or checkout pages;
- REST responses, feeds, emails, or CSV exports;
- third-party order tables that do not run the native hooks;
- customer records or order addresses; or
- phone-search and messaging workflows.
The column is an administrative convenience, not a customer-data cleanup or communication system.
Troubleshoot by symptom
| Symptom | Check first | Safe expected result |
|---|---|---|
| Phone column is missing | WooCommerce version, role, and Screen Options | No column for unsupported or unauthorized screens |
| One row is blank | Whether that exact order has a billing phone | Missing or unsafe values stay blank |
| Phone is plain text | Whether Pro is active and the value parses safely | Ambiguous values are not turned into links |
| Shipping phone is absent | Whether it exists and differs from billing | Duplicate or empty shipping values are omitted |
| Old snippet worked before HPOS | Whether it used only legacy post-list hooks | Use an HPOS-aware implementation instead of disabling HPOS |
Roll back without touching customer data
- Deactivate Pro and reload the Orders list.
- Confirm Free billing-phone text remains.
- Deactivate Free.
- Confirm the added Phone column disappears.
- Open the test order and confirm both saved phones are unchanged.
- Install a previous deterministic ZIP only for a version rollback.
Normal uninstall preserves Pro license/update state for accidental recovery. Defining STOREFIXKIT_DELETE_DATA as true before deleting Pro removes only this product's three owned Pro options. Free stores no settings, and neither package deletes orders, customers, or phone values.
Privacy and security boundary
- Free makes no remote request.
- The Orders screen makes no StoreFixKit request.
- Only an explicit, authorized Pro license action sends the license key, site URL, and product key to StoreFixKit.
- No order, customer, phone, item, payment-method, or transaction data is sent.
- There is no telemetry, custom table, cron, queue, frontend asset, order query, or order/customer write.
Support material should replace real phone numbers and names with neutral examples. A full license key, customer record, order export, password, API key, or payment detail should never be included.
Market evidence boundary
The July 21, 2026 evidence capture found a broader paid WooCommerce Marketplace product, OrderFusion: Filters and Columns Manager, offering a Phone column at a captured price of $89 per year. That proves a paid offer existed in the broader category on the capture date. It does not prove sales for Phone alone.
The same capture recorded WooCommerce at 7,000,000 active installs and a broad admin-column plugin at 100,000. Installed stock is not a count of likely buyers. The exact-intent US keyword check returned no reportable numeric search volume for the three tested phone-column phrases, and measured StoreFixKit acquisition capacity remains unavailable.
At a hypothetical $39 annual price, a $10,000 MRR target requires about 3,077 active annual customers. The selection model assumes 180 new customers per month, 1.5% free-to-paid conversion, and 20% annual churn, but none of those assumptions is verified for this product. The $10,000 MRR figure is a product-selection hypothesis, not a forecast, promise, or sales claim.
Frequently asked questions
Does this edit the customer's phone?
No. It reads the saved value from the current order.
Does it work with HPOS?
Yes. Version 0.1.13 registers the native HPOS and classic order-column hooks.
Can it call or message customers automatically?
No. Pro may create a safe user-initiated telephone link. It does not send calls, SMS, or WhatsApp messages.
Does it send phones to StoreFixKit?
No. Explicit license actions send only the license key, site URL, and product key.
What should I send support?
Use StoreFixKit Support and include plugin versions, WordPress and WooCommerce versions, HPOS state, role, Screen Options state, expected and actual behavior, and repeatable steps. Remove all customer, phone, order, license, and payment data. After an official WordPress.org listing exists, support can provide the correct review link.
Focused plugin
Use the one-job implementation.
Show the saved billing phone in classic and HPOS WooCommerce Orders lists without editing orders, customers, or phone data.