Academy LMS 4.0 IS LIVE

00
Days
:
00
Hours
:
00
Minute
:
00
Second

Instructor registration

The Instructor Registration shortcode ([academy_instructor_registration_form]) renders a self-serve sign-up form that lets a site visitor apply to become an instructor, without going through the WordPress default registration screen. It is a classic (non-block) shortcode, so it can be dropped into any page or post through the raw shortcode text.

How to access

1.Go to Pages > Add New (or edit an existing page).
2.Add a Shortcode or Paragraph block and type [academy_instructor_registration_form].
3.Click Publish and view the page on the frontend as a logged-out visitor.
Academy Instructor Registration Form rendered on the published page, viewed while logged out

Log out (or open the page in a private window) before checking the result — the shortcode renders differently depending on whether the viewer already has an account, as described below.

Field breakdown

For a logged-out visitor, the shortcode renders a registration form with these fields:

Email — the applicant’s email address (used as their account identifier).
Password — the account password.
Confirm Password — password confirmation field.
Register As Instructor — submit button that creates the user account and marks it as a pending/active instructor application.

On the free version of the plugin, the form fields are limited to email, password, and confirm password. Academy Pro extends this form with additional profile fields (first name, last name, bio, etc.) via its own field configuration.

Behavior by visitor state

The shortcode’s output depends on who is viewing the page:

Logged-out visitor — sees the registration form shown above.
Logged-in user who has not applied as an instructor — sees the registration form as well, since the form checks specifically for an existing instructor application rather than just any logged-in session.
Logged-in user who already applied / is an instructor — instead of the form, the shortcode shows a status message linking to their frontend dashboard, reflecting their current academy_instructor_status (e.g. pending approval, approved).

This logged-in status view could not be captured directly in this pass since a suitable pending-instructor test account was not set up; the behavior above is based on reading AcademyRegistration::instructor_registration_form() in includes/shortcode/academy-registration.php, which branches on is_user_logged_in() and the user’s is_academy_instructor / academy_instructor_status user meta.