[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