Opened 5 months ago
Closed 5 months ago
#64790 closed defect (bug) (fixed)
Connectors: Register as a dedicated admin page instead of a virtual submenu page
| Reported by: | gziolo | Owned by: | jorgefilipecosta |
|---|---|---|---|
| Priority: | normal | Milestone: | 7.0 |
| Component: | Menus | Version: | 7.0 |
| Severity: | normal | Keywords: | |
| Cc: | Focuses: |
Description (last modified by )
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-*.phpURL. 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.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)
In 61825: