Inspect WordPress registries
inspect_registryTrace WordPress registries—post types, taxonomies, hooks, REST routes, and more—to the plugin, theme, or core file that registered them. Find the source of runtime behavior without var_dump.
Instructions
See what the running WordPress has registered and which plugin, theme or core file registered it — the questions a developer answers with var_dump. kind selects the registry: post_types and taxonomies (all of them, including ones hidden from REST, with rest_base, supports, rewrite and owner); meta (register_meta keys per object type plus the most frequent unregistered postmeta keys with an owner guess); blocks (block types with dynamic flag, attribute count, supports, block.json source, styles, variations, plus block patterns); shortcodes (callback file:line); rest_routes (methods, callback file:line, and routes whose permission_callback is __return_true flagged public); hooks (busiest hooks, or every callback on one hook with priority and file:line); cron (events with next run, schedule, overdue and orphan flags); image_sizes; menus_locations; sidebars; capabilities (each role's caps added/removed versus a fresh install); scripts_styles (handles registered during REST). Needs the companion plugin.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Which registry to read. hooks and rest_routes are the usual starting points when debugging 'where does this behaviour come from'. | |
| limit | No | Maximum rows per list in the response. Every list also reports its untruncated total. | |
| filter | No | Narrow the result. A case-insensitive substring on names for most kinds; a namespace such as "wc/v3" for rest_routes; an exact hook name such as "the_content" for hooks (lists its callbacks — a partial name lists matching hooks instead); for meta, start with "_" or pass "protected" to include underscore-prefixed keys. | |
| site_id | No | Which configured WordPress site to act on. Optional — with a single site configured it is used automatically; with several, the default site is used unless you name one. Run list_sites for valid ids. |