Currently students can only join by invite — a studio admin sends a tokenised
registration link. Add an optional mode where anyone can sign up, confirm their
email, and then be approved by a studio admin before the account becomes usable.
Requirements
A toggle in Studio Settings → Registration enables open self-signup.
Enabling it aligns with WordPress's own membership setting — mirrors users_can_register (Settings → General "Anyone can register") — and sets the
default new-user role to Student (default_role = us_student). Disabling
restores the previous values.
Self-signup goes through the existing [us_student_register] page so required
signup policies are still accepted; WordPress's native registration form is
blocked so it can't be used to bypass policy acceptance.
New accounts must confirm their email (tokenised link) and then be approved by a studio admin.
Pending login behaviour: unconfirmed email → cannot log in; confirmed but not
approved → can log in but only reaches a "pending approval" screen (no booking).
Rejection hard-deletes the account so the email is freed to re-apply.
Invite registration keeps working unchanged; both modes coexist.
See docs/features/account-registration.md for the full data/flow model.
## Summary
Currently students can only join **by invite** — a studio admin sends a tokenised
registration link. Add an optional mode where **anyone can sign up, confirm their
email, and then be approved by a studio admin** before the account becomes usable.
## Requirements
- A toggle in **Studio Settings → Registration** enables open self-signup.
- Enabling it aligns with WordPress's own membership setting — mirrors
`users_can_register` (Settings → General "Anyone can register") — and sets the
default new-user role to Student (`default_role = us_student`). Disabling
restores the previous values.
- Self-signup goes through the existing `[us_student_register]` page so required
signup policies are still accepted; WordPress's native registration form is
blocked so it can't be used to bypass policy acceptance.
- New accounts must **confirm their email** (tokenised link) and then be
**approved** by a studio admin.
- Pending login behaviour: unconfirmed email → cannot log in; confirmed but not
approved → can log in but only reaches a "pending approval" screen (no booking).
- Rejection hard-deletes the account so the email is freed to re-apply.
- Invite registration keeps working unchanged; both modes coexist.
See `docs/features/account-registration.md` for the full data/flow model.
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.
Summary
Currently students can only join by invite — a studio admin sends a tokenised
registration link. Add an optional mode where anyone can sign up, confirm their
email, and then be approved by a studio admin before the account becomes usable.
Requirements
users_can_register(Settings → General "Anyone can register") — and sets thedefault new-user role to Student (
default_role = us_student). Disablingrestores the previous values.
[us_student_register]page so requiredsignup policies are still accepted; WordPress's native registration form is
blocked so it can't be used to bypass policy acceptance.
approved by a studio admin.
approved → can log in but only reaches a "pending approval" screen (no booking).
See
docs/features/account-registration.mdfor the full data/flow model.