Repository navigation
Make the Reprint screen the plugin's one menu entry - #7
Merged
Merged
Conversation
Seven Playground boots is too slow a loop for iterating on one screen. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The old screen registers as before and is then removed from the menu global, which leaves it rendering at admin.php?page=wpcom-migration with its hook suffix intact. A new e2e scenario asserts that rather than trusting a reading of core. The connection scenario's own menu assertion is updated to match: it checked the Reprint screen's old submenu row under the BlogVault top-level slug, which no longer exists now that the screen owns a top-level row of its own. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
mainUrl() stays put: siteInfoTags() posts it to the app as adminurl, where it still means the old screen. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The secret form, the exporter toggle, the export URL and the blog ID leave the migration screen for admin.php?page=wpcom-migration-manual, which nothing links to. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The branded layout has one fixed heading, so the per-mode headings go and their sentences have to say where the site stands on their own. tests/e2e/connection-steps.php gets the matching copy updates so the whole suite stays green. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
One centred column, the WordPress mark alone in the header, the serif heading, and the connection controls where the email form was. The screen owns its stylesheet rather than borrowing the old screen's, which goes when that screen does. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Manual_Page::add_admin_menu() removed its own submenu row inside admin_menu, before admin.php can scan $submenu to find the page's parent. That left the by-hand screen unreachable by URL, refused with a 403. Move the removal to a new hide_submenu(), hooked on admin_enqueue_scripts at priority 1, after admin.php has authorized the request and resolved its render hook, but before the WP 6.9+ command palette reads $submenu at priority 10. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Every hidden case now registers the screen and then takes its row out of $menu, so a whitelabelled brand no longer 403s the Reprint screen and the URLs Connect_Page, the Settings link and the activation redirect use. On a network the old screen keeps its network-admin row and is where the Settings link and the activation redirect lead; subsites get no row. Screens taken out of $menu set their own <title>. The menu e2e drives the real whitelabel path, checks titles and prints step failures; a new multisite scenario runs through run-blueprint. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The account's email is what people recognise; the login often isn't. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Notices render above the page, where wp-admin puts them, rather than between the intro and the mode's sentence. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A Remove secret button discards the secret and closes the export window, the same cleanup deactivation and disconnect run. An empty secret field still means "nothing entered", not "delete". Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Reprint is the new default method for migrating the site. While we are keeping the BlogVault code around for a while longer, users should not see both screens, or they will get confused. There should be a single admin page accessible from the sidebar (same as how the plugin worked before). That screen should focus only on Reprint setup, and we should reuse the good parts of the old admin screen design.
Remove the blue "Let us migrate your site for free" box on the BlogVault screen, since the new migration flow is self-serve and we no longer offer a 50% discount on hosting when users migrate.
What
wp-admin/admin.php?page=wpcom-migration. The Reprint screen becomes the plugin's one menu entry, Migrate to WordPress.com. The plugin row's Settings link and the activation redirect go there too.admin.php?page=wpcom-migration-manual. They are the export secret, the exporter toggle, the export URL, the blog ID and a new Remove secret link. Nothing links to it.Hidden screens are registered and then taken out of the menu, so their URLs keep working. That includes the Reprint screen on whitelabelled installs and on network subsites. On a network the old screen keeps its network-admin menu entry, since Reprint is single-site only.
wp-admin/admin.php?page=wpcom-migrationadmin.php?page=wpcom-migration-manualChecks
Build, PHPCS, PHPCompatibility and the Playground e2e suite all pass locally. That includes new
menuandmultisitescenarios, andE2E_SCENARIOSnow runs a subset of scenarios. I also checked the screens by hand on a test site.🤖 Generated with Claude Code