[wp-trac] [WordPress Trac] #65099: Fix: Only auto register settings if the plugin the connector references is installed and active
WordPress Trac
noreply at wordpress.org
Sun Apr 19 13:58:42 UTC 2026
#65099: Fix: Only auto register settings if the plugin the connector references is
installed and active
------------------------------+-----------------------------
Reporter: jorgefilipecosta | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: General | Version: trunk
Severity: normal | Keywords: has-patch
Focuses: |
------------------------------+-----------------------------
`_wp_register_default_connector_settings()` in
`src/wp-includes/connectors.php` is hooked to `init` (priority `20`) and
walks
every connector returned by `wp_get_connectors()`. For each connector that
declares `authentication.method = 'api_key'` and an
`authentication.setting_name`, it calls `register_setting( 'connectors', …
)`
so the setting is registered and available.
Before this change, the only gate applied to non-AI connector types was
that the setting had not already been registered. In practice this meant:
1. A connector for plugin B registered by another plugin (plugin A) would
have its API key setting auto-registered even when the '''owning service
plugin was not
installed or not active'''.
2. The "orphan" setting then appeared in the `/wp-json/wp/v2/settings`
response for a service that could not actually consume them.
3. For `ai_provider` connectors this was already handled — the function
skipped providers that the AI Client registry did not know about — but
the equivalent guard was missing for every other connector type.
The root cause is that the non-AI branch had no mechanism to ask the
owning
plugin "are you actually here?" before exposing the setting.
Uses is_active connector proposed by @iamadisingh at
https://core.trac.wordpress.org/ticket/65020.
PR https://github.com/WordPress/wordpress-develop/pull/11565.
** Testing **
Verify the connectors page works as before.
Verify the unit tests pass.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/65099>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list