Sign inBlogSupportContact
Users

Read WordPress user meta cleanly from the admin

Inspect custom fields, loyalty tiers, WooCommerce billing data, memberships. Filter by key, prefix wildcard like billing_*, or name internals explicitly.

3 min read May 2026 get user meta

Inspecting user meta should be three keystrokes, not a SQL query

A customer complains their billing address is wrong. You want to see what WooCommerce has stored. To glance at their user meta, the options are: open phpMyAdmin, run SELECT FROM wp_usermeta WHERE user_id = X, or enable a debug toolbar and navigate to the user row.

For a quick pulse check, that's all overhead.

What most people do instead

Query wp_usermeta directlyNeeds DB access. Most hosts disable phpMyAdmin. Large user bases have slow queries.
Install Query Monitor or Debug BarHeavy. Meant for developers. Overkill for one meta lookup.
Drop var_dump(get_user_meta($id)) in functions.phpExposes everything including serialized session tokens. Noisy, insecure.

A better way: filtered, readable user meta

Run get user meta with a user ID. The command returns meta as a clean key-value list, with noisy internal keys hidden by default. Filter by specific keys, prefix wildcards like billing_*, or include internals by naming them.

TrueCommander
User meta (filtered)
8 keys match
billing_first_name = Anna
billing_last_name = Mueller
billing_email = anna.m@example.de
billing_city = Berlin
billing_country = DE

Noisy internals hidden. Session tokens, wp_user-settings, wp_dashboard_quick_press_last_post_id, and similar WordPress internals are filtered out by default. Name them explicitly in -filter if you need them. The output is what you care about.

How it works

Wraps get_user_meta with noise filtering. Empty -user_id falls back to current user. -filter accepts single key, comma-separated list, or prefix wildcard. Results are chain-accessible in macros as {{step1.key_name}}.

1
Pass a user ID (or use current user)Omit -user_id to target the logged-in user
2
Optional: filter by keySingle, comma-separated, or prefix like billing_*
3
Chain returned values downstreamEach key becomes a chain result. Branch macros based on meta values.
ParameterValue
-user_idTarget user ID. Empty uses current user.
-filterSingle key, comma-separated list, or prefix wildcard (billing_*)
Hidden by defaultsession_tokens, wp_user-settings, dashboard state keys
ReturnsAll matching keys as chain results — reference as {{step1.key_name}}
Can be used in

Real example

You want to send different follow-up emails to customers based on their country. German customers get German-language content; US customers get English.

The macro triggers on woocommerce_order_completed. Step 1: get user meta -filter=billing_country → returns step1.billing_country. Step 2 branches: if step1.billing_country == "DE", send German template; else send English. Branches execute in parallel, each path uses the right language.

Goes further with TrueCommander

Ready?

Inspect user data without a SQL query.

This is one of 91 commands. All included with every license.

Cookies. The short version.

Essential cookies keep the cart and theme working. Analytics only fire if you say yes. Read our policy.