Documentation hub

GB Registration Page Popup — Complete Guide

Show a class-registration form as an overlay on any page. Visitors click a button → form opens in a popup → they submit → they’re added as a Gym Builder member. Two shortcodes; works with class scheduling out of the box.

1. Welcome

GB Registration Page Popup adds two shortcodes that put a member-registration form on any WordPress page. The first puts the form in a popup that opens when a visitor clicks a button. The second renders the same form inline. Both create a Gym Builder member row on submission. An action hook lets other add-ons (Block Tools, Elementor Widgets) pop the form from their own UI.

What you get

  • Shortcode 1 — popup button: [member_registration_form_popup_button].
  • Shortcode 2 — inline form: [member_registration_form].
  • Class-aware — pre-fills class, day, time slot when triggered from a class listing.
  • Atomic slot booking with capacity check.
  • Programmatic launch hook: do_action('gym_builder_schedule_booking', $info).
  • Auto-enqueued frontend assets at priority 15.
i
Who this doc is forPlain-language guide. Admins and page-builders use sections 2–5. Developers wanting to programmatically pop the form jump to section 4.

2. Installation

2.1 Requirements

  • WordPress 5.8+ and PHP 7.4+.
  • Gym Builder plugin — installed and activated.
  • At least one Gym Builder class with a published schedule.

2.2 Install & activate

  1. 1Download the .zip.
  2. 2In WordPress: Plugins → Add New → Upload Plugin.
  3. 3Choose the .zip and click Install Now.
  4. 4Click Activate.
  5. 5A new Registration Page Popup submenu appears under Gym Builder.

3. The Two Shortcodes

3.1 [member_registration_form_popup_button] — popup button

Drop this shortcode anywhere you want a “Register Now” CTA. The shortcode renders a styled button. Clicking it opens the registration form in a centered modal overlay.

Register Now button rendered on a frontend page by the popup-button shortcode
The popup-button shortcode renders a styled “Register Now” CTA on any page.
  1. 1Edit any WordPress page.
  2. 2Insert a Shortcode block (Gutenberg) or Shortcode widget (Elementor).
  3. 3Paste [member_registration_form_popup_button]. The shortcode takes no attributes — the button label and behaviour are controlled by the plugin’s Settings page.
  4. 4To pre-select a class on click, your theme/plugin code fires do_action('gym_builder_schedule_booking', $info) with a 5-key payload (see section 4).
  5. 5Publish. Visitors see the button. Click → form appears.
Registration popup overlay opened on the frontend, showing all member registration fields
After clicking the button, the modal opens with full member-registration fields — name, email, address, phone, age, gender, joining date, class, weekday, schedule time, package, profile image.

3.2 [member_registration_form] — inline form

Show the form directly on the page instead of behind a button.

  1. 1Insert [member_registration_form] in a Shortcode block.
  2. 2The form renders inline — name, email, phone, password, class picker.
  3. 3On submission, a member row is created in gym_builder_members and a WP user is added with the gym_builder_student role.
  4. 4The visitor receives the standard Gym Builder welcome email with credentials.

4. Class Booking Integration

The plugin’s most powerful feature is its programmatic launch hook. Any plugin or theme can fire do_action('gym_builder_schedule_booking', $info) with a 5-key payload, and the popup opens pre-filled.

i
The hook payloadPass an associative array with these exact keys: class_id (int), class_name (string), time_range (e.g. "6:00am - 7:00am"), class_day (long day name, e.g. "Monday"), available_slot (int).

Example PHP, called from a class-listing template:

do_action( 'gym_builder_schedule_booking', [
    'class_id'       => 42,
    'class_name'     => 'Morning Spin',
    'time_range'     => '6:00am - 7:00am',
    'class_day'      => 'Monday',
    'available_slot' => 12,
] );

Who uses this hook

  • Gym Builder core fires it from the shortcode rendering.
  • Gym Builder Block Tools fires it from the Class Routine Gutenberg block.
  • GB Elementor Widgets fires it from Class Card and Class Routine widgets.

5. Settings & Customisation

The plugin’s settings page lives at Gym Builder → Registration Page Popup. The page has 5 inner tabs:

Recommended starting valuesEnable Registration: ON. Popup Layout Style: Layout 1 (cleanest). Popup Overlay: ON. Enable Form Title: ON, title Join the Gym or Membership Sign-Up. Button Text: Register or Create Account. Registration Confirmation Text: Welcome! Check your email for login details. Enable Discount Text: OFF unless you actually offer promo codes. reCAPTCHA Settings: add a v2/v3 key pair before going live — public registration forms are spam magnets. Email Settings: set the welcome subject + body on-brand.
Registration Page Popup admin settings — General Settings tab showing Enable Registration, Popup Layout Style, Form Settings
Gym Builder → Registration Page Popup. General Settings tab — Enable Registration, Popup Layout Style (3 layouts), Popup Overlay, plus Form Settings.
  1. 1General Settings — Enable Registration master toggle, Popup Layout Style picker (3 layouts), Popup Overlay toggle. Plus Form Settings: Enable Form Title, Registration Form Title text, Button Text, Registration Confirmation Text, Enable Discount Text.
  2. 2reCAPTCHA Settings — site key + secret key fields. When filled, the popup form adds Google reCAPTCHA v2/v3 protection.
  3. 3Popup Settings — popup behaviour: button text, popup width, popup animation, popup delay.
  4. 4Email Settings — subject + body of the welcome email sent after registration. Placeholders for member name, email, password, etc.
  5. 5Style Settings — colour pickers for the popup overlay, form fields, submit button.
  6. 6Click Save Settings in any tab to persist.

6. Tips & Best Practices

  • Use the popup button on landing pages for above-the-fold conversion. Inline form belongs on dedicated /join pages.
  • Pre-fill class context whenever you can.
  • Combine with GB Stripe Payments for one-step sign-up + pay.
  • Test on mobile — verify form fields don’t overlap your theme styling.

7. FAQ

Q: Does the form charge the visitor?

No — registration is free in v1. To collect payment at sign-up, install GB Stripe Payments.

Q: Can I add custom fields to the form?

Not in v1. The form fields are hard-coded (name, email, address, phone, age, gender, joining date, class, weekday, schedule time, package, profile image). For custom fields, fork the plugin’s registration_from_frontend() method or open a feature request.

Q: What if the chosen class is full?

The plugin checks slot availability on submission. If it filled up between page load and submit, the visitor sees an error and can pick another slot.

Q: Does it support multi-language sites?

Yes. All strings wrapped in __(). .pot file in languages/ with text domain gb-registration-page-popup.

Q: Can I open the popup from JavaScript?

The internal helper is window.gbRegistrationPagePopup.GlobalFun.showPopup(classData) but it’s not a stable public API in v1. The supported way is to fire the PHP action gym_builder_schedule_booking server-side (see section 4) — the plugin renders an invisible trigger that handles the click on the client.

8. Troubleshooting

Popup doesn't open when I click the button

Check that the plugin’s frontend assets loaded — view page source and search for gb-registration-page-popup. If missing, another plugin may be deregistering it.

Form submits but no member is created

Common cause: the email already exists in gym_builder_members — the plugin doesn’t create duplicates. Remove the existing member or change the form email.

Schedule pre-fill isn't working

The hook payload must have all 5 keys. If any are missing the popup opens without class context.

Popup styling clashes with my theme

The modal uses a high z-index but if your theme has a higher one, its content can cover the popup. Override z-index with custom CSS.

9. The Gym Builder Plugin Family

GB Registration Page Popup is one of ten plugins in the Gym Builder family.

Gym Builder FREE
Free core plugin. Classes, trainers, members, schedules, packages.
GB Stripe Payments PRO
Stripe Checkout for membership packages — recurring & one-time billing.
GB Personal Session PRO
1-on-1 training session bookings, multi-step widget, refunds.
GB Attendance System PRO
Member check-in tracking with exportable attendance logs.
GB Fitness Tracking PRO
Trainer-assigned workouts, body metrics, progress charts & chat.
GB Registration Page Popup YOU ARE HERE
Auto-shown registration overlay with per-class scheduling form.
GB Zoom Integration PRO
Online classes via Zoom — virtual-class badges and metadata.
Gym Builder Block Tools PRO
9 Gutenberg blocks plus the Gutenberg template importer.
GB Elementor Widgets PRO
14 Elementor widgets covering every Gym Builder surface.
Pre-built Templates PRO
One-click demo import for Gutenberg + Elementor niche templates.

GbRegistration Page Popup v1.0.4 · A WpDreamers product · Requires Gym Builder · PHP 7.4+ · WordPress 5.8+

© WpDreamers — registration popup with class scheduling for Gym Builder.