Students could previously join by invite only. Add an optional
self-approval mode, toggled from Studio Settings → Registration: anyone
may sign up on the existing [us_student_register] page, confirm their
email via a tokenised link, and then be approved by a studio admin
before the account is usable.
- Enabling the toggle mirrors WordPress's own membership settings
(users_can_register + default_role = us_student) and snapshots their
previous values so disabling restores them.
- WordPress's native registration form is blocked while open
registration is on (login_init redirect + registration_errors
fail-safe + register_url) so it cannot bypass signup policy acceptance.
- Pending accounts: unconfirmed email cannot log in; confirmed but
unapproved can log in but the booking capability is withheld and the
booking page shows an "awaiting approval" screen.
- Approve/reject from Students → Pending Students; reject hard-deletes
the account so the email is freed to re-apply.
- Invite registration is unchanged; both modes coexist.
Account lifecycle lives in user meta (RegistrationStatus); no new tables.
Closes#63
Co-Authored-By: Claude Opus 4.8 <[email protected]>