[wp-trac] [WordPress Trac] #64790: Connectors: Register as a dedicated admin page instead of a virtual submenu page

WordPress Trac noreply at wordpress.org
Wed Mar 4 10:43:45 UTC 2026


#64790: Connectors: Register as a dedicated admin page instead of a virtual submenu
page
--------------------------+-------------------------------
 Reporter:  gziolo        |       Owner:  jorgefilipecosta
     Type:  defect (bug)  |      Status:  assigned
 Priority:  normal        |   Milestone:  7.0
Component:  Menus         |     Version:  trunk
 Severity:  normal        |  Resolution:
 Keywords:                |     Focuses:
--------------------------+-------------------------------
Changes (by gziolo):

 * owner:  (none) => jorgefilipecosta
 * status:  new => assigned


Old description:

> The Connectors settings screen is currently registered as a virtual
> submenu page under Settings, accessible at `wp-admin/options-
> general.php?page=connectors-wp-admin`. It should be changed to a
> dedicated options page with its own URL (e.g., `options-connectors.php`),
> consistent with how other core settings pages are structured.
>
> ## Description
>
> The Connectors screen was introduced in
> [Gutenberg#75833](https://github.com/WordPress/gutenberg/pull/75833) and
> further iterated on in
> [Gutenberg#76014](https://github.com/WordPress/gutenberg/pull/76014).
> During review, multiple contributors recommended moving away from the
> virtual submenu page pattern toward a real options page.
>
> ### Current behavior
>
> The page is registered using `add_submenu_page()` under `options-
> general.php`, resulting in a URL like:
>
> ```
> wp-admin/options-general.php?page=connectors-wp-admin
> ```
>
> ### Expected behavior
>
> The page should be a first-class core settings page with a dedicated URL,
> for example:
>
> ```
> wp-admin/options-connectors.php
> ```
>
> This is how all other core settings pages are structured: `options-
> general.php`, `options-writing.php`, `options-reading.php`, `options-
> discussion.php`, `options-media.php`, `options-privacy.php`, and
> `options-permalink.php`.
>
> ### Reasons for the change
>
> - **Consistency with core patterns.** Every existing core settings page
> under the Settings menu has its own `options-*.php` URL. Virtual submenu
> pages using query parameters (`?page=...`) are the pattern for plugin-
> added settings pages, not core screens.
> - **Clean URL for linking and redirects.** A dedicated URL is easier for
> other code to reference, redirect to, or use in capability checks and
> admin notices.
> - **Long-term stability.** As a core settings page that plugins and
> documentation will link to, a stable, short URL avoids churn and makes
> the feature feel intentional rather than bolted on.

New description:

 The Connectors settings screen is currently registered as a virtual
 submenu page under Settings, accessible at `wp-admin/options-
 general.php?page=connectors-wp-admin`. It should be changed to a dedicated
 options page with its own URL (e.g., `options-connectors.php`), consistent
 with how other core settings pages are structured.

 ## Description

 The Connectors screen was introduced in
 [Gutenberg#75833](https://github.com/WordPress/gutenberg/pull/75833) and
 further iterated on in
 [Gutenberg#76014](https://github.com/WordPress/gutenberg/pull/76014).
 During review, multiple contributors recommended moving away from the
 virtual submenu page pattern toward a real options page.

 ### Current behavior

 The page is registered using `add_submenu_page()` under `options-
 general.php`, resulting in a URL like:

 `wp-admin/options-general.php?page=connectors-wp-admin`

 ### Expected behavior

 The page should be a first-class core settings page with a dedicated URL,
 for example:

 `wp-admin/options-connectors.php`

 This is how all other core settings pages are structured: `options-
 general.php`, `options-writing.php`, `options-reading.php`, `options-
 discussion.php`, `options-media.php`, `options-privacy.php`, and `options-
 permalink.php`.

 ### Reasons for the change

 - **Consistency with core patterns.** Every existing core settings page
 under the Settings menu has its own `options-*.php` URL. Virtual submenu
 pages using query parameters (`?page=...`) are the pattern for plugin-
 added settings pages, not core screens.
 - **Clean URL for linking and redirects.** A dedicated URL is easier for
 other code to reference, redirect to, or use in capability checks and
 admin notices.
 - **Long-term stability.** As a core settings page that plugins and
 documentation will link to, a stable, short URL avoids churn and makes the
 feature feel intentional rather than bolted on.

--

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/64790#comment:1>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list