Which plugin renders your form
Three shortcodes are registered by both plugins. With Pro active its forms take over — and one of the four never does.
- Intermediate
- 4 min read
- Applies to 2.0
The short answer
With a Pro licence active, three of your four forms are rendered by Pro and one is not:
| Shortcode | Free plugin | Pro | Renders |
|---|---|---|---|
[attributes_register_form] | ✅ | ✅ | Pro |
[attributes_lost_form] | ✅ | ✅ | Pro |
[attributes_reset_form] | ✅ | ✅ | Pro |
[attributes_login_form] | ✅ | — | Free plugin, always |
Nothing changes in your pages. The shortcode you placed is the shortcode that renders; only what answers it changes.
Why it works that way
WordPress keeps one callback per shortcode name — the last registration wins, and Pro loads after the free plugin. So Pro takes over the three forms it extends, and leaves the login form alone: Pro's authentication methods hook into it rather than replace it.
When this explains your problem
A setting the documentation describes is missing from your form. The licence state is the first thing to check: a registration form rendered by the free plugin has no custom fields, no multi-step flow and no reCAPTCHA, because those belong to Pro's version of it.
Three forms changed after you deactivated Pro. The pages keep working — the shortcodes are still registered by the free plugin — but everything Pro added goes away without an error message. Sensible, and quiet.
[attributes_login_form] is never taken over. Reading it as "the free version of
the login form" would be a mistake: it is the login form, and Pro extends it in
place.
Related articles
Something missing or out of date? Tell support.