A signed-in visitor landing on the registration page got a dead end — RegistrationPage::render() returned a bare "You already have an account and are logged in." with no way onward.
The link they needed was already being built ten lines above, in the just-registered-via-invite branch. This extracts it into continueLink() and uses it for both logged-in outcomes.
Behaviour
State
Before
After
Signed in, page configured
bare sentence
sentence + "Continue to your account" link
Signed in, no page configured
bare sentence
bare sentence (unchanged)
Signed in, configured page deleted
bare sentence
bare sentence, no broken link
?us_registered=invite
unchanged
unchanged
There is deliberately still no wp_login_url() fallback. Pointing someone who is already signed in at the login screen is the same dead end with extra steps — the same reasoning the invite branch already documented.
Also
Both messages now carry the us-register-form wrapper and enqueue us-scheduler. The invite branch emitted that markup but never loaded the stylesheet for it, so its success panel rendered unstyled.
Tests
testAlreadyLoggedInVisitorIsLinkedToTheChosenPage — link present, and not mistaken for the just-registered branch.
testAlreadyLoggedInVisitorGetsNoLinkWithoutAChosenPage — covers both no page configured and a page since deleted.
composer test (657 tests, 1868 assertions), composer lint, composer cs all pass.
Closes #131.
A signed-in visitor landing on the registration page got a dead end — `RegistrationPage::render()` returned a bare "You already have an account and are logged in." with no way onward.
The link they needed was already being built ten lines above, in the just-registered-via-invite branch. This extracts it into `continueLink()` and uses it for both logged-in outcomes.
## Behaviour
| State | Before | After |
|---|---|---|
| Signed in, page configured | bare sentence | sentence + "Continue to your account" link |
| Signed in, no page configured | bare sentence | bare sentence (unchanged) |
| Signed in, configured page deleted | bare sentence | bare sentence, no broken link |
| `?us_registered=invite` | unchanged | unchanged |
There is deliberately still no `wp_login_url()` fallback. Pointing someone who is already signed in at the login screen is the same dead end with extra steps — the same reasoning the invite branch already documented.
## Also
Both messages now carry the `us-register-form` wrapper and enqueue `us-scheduler`. The invite branch emitted that markup but never loaded the stylesheet for it, so its success panel rendered unstyled.
## Tests
- `testAlreadyLoggedInVisitorIsLinkedToTheChosenPage` — link present, and not mistaken for the just-registered branch.
- `testAlreadyLoggedInVisitorGetsNoLinkWithoutAChosenPage` — covers both no page configured and a page since deleted.
`composer test` (657 tests, 1868 assertions), `composer lint`, `composer cs` all pass.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Reworded per feedback: the link now names the destination page — "Continue to Book a Lesson" rather than "Continue to your account", via get_the_title(). An untitled page keeps the generic wording so the link can never render as "Continue to ". Covered by testContinueLinkFallsBackToGenericWordingForAnUntitledPage and asserted in both linked-page tests.
Reworded per feedback: the link now names the destination page — "Continue to Book a Lesson" rather than "Continue to your account", via `get_the_title()`. An untitled page keeps the generic wording so the link can never render as "Continue to ". Covered by `testContinueLinkFallsBackToGenericWordingForAnUntitledPage` and asserted in both linked-page tests.
The registration page's already-logged-in branch returned a bare
sentence with nowhere to go, leaving the visitor to find their own way
to their account. The invited-student branch a few lines above already
built exactly the link that was missing.
Extract that into continueLink() and use it for both logged-in
outcomes. There is deliberately still no wp_login_url() fallback:
sending someone already signed in to the login screen is the same dead
end with extra steps, so with no page configured there is no link.
Both messages now carry the us-register-form wrapper and enqueue the
plugin stylesheet, which the invite branch emitted markup for but never
loaded.
Closes#131
"Continue to your account" says nothing about where the link goes. Use
the chosen page's own title instead — "Continue to Book a Lesson" — so
the visitor knows before clicking.
An untitled page keeps the generic wording rather than rendering
"Continue to ".
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #131.
A signed-in visitor landing on the registration page got a dead end —
RegistrationPage::render()returned a bare "You already have an account and are logged in." with no way onward.The link they needed was already being built ten lines above, in the just-registered-via-invite branch. This extracts it into
continueLink()and uses it for both logged-in outcomes.Behaviour
?us_registered=inviteThere is deliberately still no
wp_login_url()fallback. Pointing someone who is already signed in at the login screen is the same dead end with extra steps — the same reasoning the invite branch already documented.Also
Both messages now carry the
us-register-formwrapper and enqueueus-scheduler. The invite branch emitted that markup but never loaded the stylesheet for it, so its success panel rendered unstyled.Tests
testAlreadyLoggedInVisitorIsLinkedToTheChosenPage— link present, and not mistaken for the just-registered branch.testAlreadyLoggedInVisitorGetsNoLinkWithoutAChosenPage— covers both no page configured and a page since deleted.composer test(657 tests, 1868 assertions),composer lint,composer csall pass.🤖 Generated with Claude Code
Reworded per feedback: the link now names the destination page — "Continue to Book a Lesson" rather than "Continue to your account", via
get_the_title(). An untitled page keeps the generic wording so the link can never render as "Continue to ". Covered bytestContinueLinkFallsBackToGenericWordingForAnUntitledPageand asserted in both linked-page tests.1975630136toc642fb7c3ec642fb7c3eto61b00c2ed3