Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
132f672
Connectors: Add `wp_connectors_settings` filter for extensibility.
gziolo Mar 5, 2026
ea5fe48
Connectors: Improve `wp_connectors_settings` filter PHPDoc and test c…
gziolo Mar 5, 2026
e5ca2b3
Connectors: Add registry guards before registering settings and passi…
gziolo Mar 5, 2026
ccafc8d
Connectors: Move `wp_connectors_settings` filter after `setting_name`…
gziolo Mar 6, 2026
0a93a5f
Connectors: Add test for filter returning empty array.
gziolo Mar 6, 2026
c0736e5
Connectors: Replace filter with WP_Connector_Registry and action-base…
gziolo Mar 6, 2026
b733ffc
Connectors: Preserve AI Client registry data precedence over hardcode…
gziolo Mar 6, 2026
f07ab82
Apply suggestions from code review
gziolo Mar 9, 2026
45571c3
Update src/wp-includes/connectors.php
gziolo Mar 9, 2026
b5c0289
Connectors: Address review feedback for registry extensibility.
gziolo Mar 9, 2026
064ef5e
Apply suggestions from code review
gziolo Mar 10, 2026
0286b11
Update src/wp-includes/class-wp-connector-registry.php
gziolo Mar 10, 2026
1850024
Connectors: Remove wp_register_connector() wrapper in favor of direct…
gziolo Mar 10, 2026
7f91d3b
Connectors: Add timing guard to WP_Connector_Registry::set_instance().
gziolo Mar 10, 2026
96e934d
Connectors: Add setting_name to PHPStan Connector type.
gziolo Mar 10, 2026
5b9603c
Connectors: Fix indentation in catch block.
gziolo Mar 10, 2026
96e2ff6
Connectors: Format PHPStan Connector type as multi-line.
gziolo Mar 10, 2026
0362b35
Connectors: Restrict set_instance() to only work during the init action.
gziolo Mar 10, 2026
9989675
Connectors: Add logo_url support to the connector registry.
gziolo Mar 11, 2026
1f8e9a8
Tests: Add tests for _wp_connectors_resolve_ai_provider_logo_url().
gziolo Mar 11, 2026
408d5c4
Connectors: Add method_exists() check for getLogoPath().
gziolo Mar 11, 2026
5abc91e
Connectors: Remove method_exists() check for getLogoPath().
gziolo Mar 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Connectors: Add timing guard to WP_Connector_Registry::set_instance().
Triggers _doing_it_wrong if set_instance() is called after the init
action has completed, preventing late overrides of the registry singleton.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • Loading branch information
gziolo and claude committed Mar 11, 2026
commit 7f91d3b0ea83f11084e0dd94de45fcfcdd79314d
9 changes: 9 additions & 0 deletions src/wp-includes/class-wp-connector-registry.php
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,15 @@ public static function get_instance(): ?self {
* @param WP_Connector_Registry $registry The registry instance.
*/
public static function set_instance( WP_Connector_Registry $registry ): void {
if ( did_action( 'init' ) && ! doing_action( 'init' ) ) {
_doing_it_wrong(
__METHOD__,
__( 'The connector registry instance must be set before the <code>init</code> action.' ),
Comment thread
gziolo marked this conversation as resolved.
Outdated
'7.0.0'
);
return;
}
Comment thread
gziolo marked this conversation as resolved.

self::$instance = $registry;
Comment thread
gziolo marked this conversation as resolved.
}
Comment thread
gziolo marked this conversation as resolved.
}
9 changes: 9 additions & 0 deletions tests/phpunit/tests/connectors/wpConnectorRegistry.php
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,15 @@ public function test_get_instance_returns_registry() {
$this->assertInstanceOf( WP_Connector_Registry::class, $instance );
}

/**
* @ticket 64791
*/
public function test_set_instance_rejects_after_init() {
$this->setExpectedIncorrectUsage( 'WP_Connector_Registry::set_instance' );

WP_Connector_Registry::set_instance( new WP_Connector_Registry() );
}

/**
* @ticket 64791
*/
Expand Down