Gym Builder — Complete Guide
The free WordPress plugin for gym, fitness, and yoga websites. Classes, trainers, member management, membership packages, fitness calculators, and class scheduling — all in one plugin. The foundation for the entire Gym Builder family.
1. Welcome
Gym Builder is the free WordPress plugin powering gym, fitness studio and yoga websites. It gives you the building blocks: classes, trainers, members, packages, calculators, and login dashboards. It also forms the foundation for nine optional pro add-ons that extend it with Stripe payments, personal session booking, attendance tracking, fitness tracking, and more.
What you get
- Classes — CPT with schedule meta supporting per-day, per-time-slot capacity. 3 list layouts.
- Trainers — CPT with social links, categories, profiles. 2 list layouts.
- Membership Packages — pricing-plan CPT with tiers, categories, features.
- Members — custom DB table with profile, joining date, expiry, class enrolment, schedule.
- Trainer Login System — trainers log in to a custom dashboard.
- Student Login System — members log in to their dashboard.
- Fitness Calculators — BMI, body fat, protein intake, water intake.
- 4 Shortcodes — class listing, trainer listing, fitness calculator, packages.
- React-based admin UI for members, settings, export/import.
- Export/Import demo content with one click.
2. Installation
2.1 Requirements
- WordPress 5.8+.
- PHP 7.4+ (PHP 8.x recommended).
- A WordPress theme compatible with custom post types.
2.2 Install & activate
- 1Go to WordPress Admin → Plugins → Add New.
- 2Search for “Gym Builder”.
- 3Click Install Now on the official WpDreamers result.
- 4Click Activate.
- 5A new Gym Builder top-level menu appears.
- 6Visit Gym Builder → Dashboard for a quick-start overview.
3. Settings
Open Gym Builder → Settings. Settings live in 7 option groups, surfaced as tabs.
[email protected]). Class: Time Format = 12-hours (US) or 24-hours (elsewhere), Archive Style = Layout 1, Posts Per Page = 9, Grid Columns = 3. Trainer: Archive Style = Layout 1, Posts Per Page = 8, Grid Columns = 4. Style: Primary = brand color, Secondary = accent. Pages: leave the four auto-created ones. Permalinks: for cleaner URLs, change Class Base to classes and Trainer Base to trainers, then re-save WP’s permalinks at Settings → Permalinks.3.1 Global Settings
- Member ID Card Title / Shop Name — heading on printed member ID cards.
- Contact Number — printed on ID cards and PDFs.
- Shop Address — same.
- Footer Note — extra line for ID cards / PDFs.
- Sender Email Address — From address on every email Gym Builder sends.
- Currency — pick from 150+ currencies. Used by every package price.
- Currency Position — left, right, with/without space.

3.2 Class Settings
Defaults for class archives and single-class pages. Per-shortcode overrides are also possible.
- Class Time Format — 12-hours or 24-hours, site-wide.
- Class Archive Style — Layout 1 (grid), Layout 2 (list), or Slider.
- Posts Per Page, Grid Columns, Page Layout.
- Class Thumbnail Width / Height + Image Hard Crop.
- Include Class / Exclude Class / Class Categories filters.
- Class Order By + Class Order.
- Single Page Layout.
3.3 Trainer Settings
Same idea, for trainers.
- Trainer Archive Style — Layout 1 or Layout 2.
- Posts Per Page, Grid Columns, Page Layout.
- Trainer Thumbnail Width / Height + Image Hard Crop.
- Include Trainer / Exclude Trainer / Trainer Categories.
- Trainer Order By + Trainer Order.
- Single Page Layout.
Social icons (Facebook, Twitter, LinkedIn, Skype, YouTube, Pinterest, Instagram, TikTok) are entered per-trainer on the trainer edit screen, not globally.
3.4 Style Settings
- Primary Color — default
#005dd0. Rendered as the--gym-builder-primary-colorCSS custom property; flows through every Gym Builder UI and add-on. - Secondary Color — accent for hover states.
- Class Style + Trainer Style sections — per-element color pickers (Class Title, Class Content, Schedule, Trainer Title, Trainer Designation, etc.) when you need to override the cascading defaults.

3.5 Page Settings & Permalinks Settings
Two tabs that together set which WP pages back each Gym Builder area, and what URL slug those areas use.
Page Settings — map a WP page to each role:
- Classes Page — the class archive.
- Trainers Page — the trainer archive.
- Member Registration Page — page hosting your registration shortcode (e.g. GB Registration Page Popup’s
[member_registration_form]). - Member Dashboard Page — where logged-in members land.
Permalinks Settings — change the URL slugs (defaults are the CPT names):
- Class Base — defaults to
gym_builder_class. Change to e.g.classesfor cleaner URLs. - Class Category Base.
- Trainer Base.
- Trainer Category Base.
4. Managing Classes
Classes are the core. Each is a custom post with one Schedule metabox holding many time-slot rows (each row = one weekday + start/end + trainer + capacity).
- 1Go to Classes → Add New Class.
- 2Fill in: Title, Featured image, Content (description), and Class Category in the sidebar.
- 3Scroll to the Schedule metabox. At the top, set Color (used by the Class Routine layout), Button Text (e.g. Reserve), Button URL.
- 4For each time-slot the class runs, click Add New and fill: Trainer, Weekday, Start Time, End Time, Maximum Member Allow Booking. Trainer assignment is per-slot, not per-class.
- 5(Optional) Use the Course Pricing Info & Details metabox to show a per-class price on the class page. Membership-based pricing is handled separately under Membership Package.
- 6Click Publish.

gym_builder_v2_class_schedule) is read by every shortcode and every add-on. Set it correctly here and your weekly routine, slot booking, attendance tracking, and Stripe checkout all just work.5. Managing Trainers
- 1Go to Trainer → Add New Trainer Member.
- 2Fill in: Title (name), Featured image (photo), Content (bio), and Trainer Category in the sidebar.
- 3Scroll to the Trainer Info metabox: Trainer Designation (job title shown on the card) and Trainer Email. The email is what maps this trainer to a WP user — match it to a WP user’s email and they automatically get the
gym_builder_trainerrole and Trainer Login System access. - 4Scroll to the Trainer Socials Links metabox — paste full URLs. Supported networks: Facebook, Twitter, LinkedIn, Skype, YouTube, Pinterest, Instagram, TikTok. Leave any field blank to hide that icon.
- 5Click Publish.

6. Membership Packages
- 1Go to Membership Package → Add New.
- 2Fill in: Title (e.g. “Basic Monthly”), Content, Package Type (sidebar taxonomy — Basic / Premium / Pro etc.).
- 3Membership Package Options metabox: set Package Price + Package Price Duration label, then Feature Item Icon + Package Feature Item rows for the bullet points on the pricing card.
- 4(Optional) Button Text + Button URL override the global CTA on the pricing card.
- 5(Optional, needs GB Stripe Payments) Stripe Billing Settings metabox — enable any combination of Monthly / Bi-Monthly / Quarterly / Yearly / One-Time intervals, set a price per interval, click Sync to Stripe.
- 6Click Publish.

7. Members & Login
Members are stored in a custom DB table. Each has personal info, joining date, package, end date, class enrolment.

Adding a member manually
- 1Go to Gym Builder → Add Member.
- 2Fill in: Name, Email, Phone, Address, Age, Gender.
- 3Pick a membership package.
- 4Pick a class, day of week, time slot.
- 5Click Save. The plugin creates: member row + WP user + welcome email + decrements class capacity.

Member self-registration
- WP standard register page at
/wp-login.php?action=register(if enabled in WP general settings). - Install GB Registration Page Popup for styled popup registration with class scheduling.
Member & trainer dashboards
- Member Dashboard: members log in, see profile, current membership, classes, schedule. Pro add-ons inject tabs.
- Trainer Dashboard: trainers (mapped by email) see their classes, schedule, member roster.
8. Shortcodes
Gym Builder ships 4 shortcodes for embedding on any page.
- Class listing —
— references a saved Class Shortcode config.Fintess Class
It is a long established fact that a reader will be distracted by the readable content of a page when..
- Trainer : Rock Schedule : Sat: 9:00am-10:00am
- Trainer : Randy Schedule : Sun: 10:00am-11:00am
Yoga Class
It is a long established fact that a reader will be distracted by the readable content of a page when..
- Trainer : Rebeeca Schedule : Tue: 3:30pm-4:30pm
- Trainer : Rebeeca Schedule : Wed: 11:00am-12:00pm
- Trainer : Rebeeca Schedule : Tue: 3:00pm-4:00pm
Body Building
It is a long established fact that a reader will be distracted by the readable content of a page when..
- Trainer : Dim Schedule : Mon: 10:00am-11:00am
- Trainer : Randy Schedule : Tue: 2:00pm-4:00pm
- Trainer : Rock Schedule : Fri: 6:00pm-8:00pm
- Trainer listing —
— references a saved Trainer Shortcode config.Randy
Body BuilderIt is a long established fact that a reader will be distracted by the readable content of a page when..
Rebeeca
Yoga TrainerIt is a long established fact that a reader will be distracted by the readable content of a page when..
Dim
Boxing TrainerIt is a long established fact that a reader will be distracted by the readable content of a page when..
- Fitness calculator —
— BMI, body fat, protein, water.Fitness Calculators
Body Mass Index
BMI Weight Status Below 18.5 Underweight 18.5 - 24.9 Normal 25 - 29.9 Overweight 30 and Above Obese - Membership packages —
— supportsFitness Beginner Package
Rs40/per month- Feature Item 1
- Feature Item 2
- Feature Item 3
- Feature Item 4
- Feature Item 5
Fitness Premium Package
Rs60/per month- Feature Item 1
- Feature Item 2
- Feature Item 3
- Feature Item 4
- Feature Item 5
Fitness Advance Package
Rs100/per year- Feature Item 1
- Feature Item 2
- Feature Item 3
- Feature Item 4
- Feature Item 5
Yoga Beginner Package
Rs20/per month- Feature Item 1
- Feature Item 2
- Feature Item 3
- Feature Item 4
- Feature Item 5
Yoga Premium Package
Rs40/per month- Feature Item 1
- Feature Item 2
- Feature Item 3
- Feature Item 4
- Feature Item 5
Yoga Advance Package
Rs60/per year- Feature Item 1
- Feature Item 2
- Feature Item 3
- Feature Item 4
- Feature Item 5
Boxing Beginner Package
Rs100/per month- Feature Item 1
- Feature Item 2
- Feature Item 3
- Feature Item 4
- Feature Item 5
- Feature Item 6
Boxing Premium Package
Rs120/per month- Feature Item 1
- Feature Item 2
- Feature Item 3
- Feature Item 4
- Feature Item 5
- Feature Item 6
Boxing Advance Package
Rs140/per year- Feature Item 1
- Feature Item 2
- Feature Item 3
- Feature Item 4
- Feature Item 5
- Feature Item 6
limit,hide_package_type,include_package,order_by,orderattributes.
9. Tips & Best Practices
For a new install
- Use Export/Import demo content first to see the system working.
- Set Global currency & primary color first — they cascade everywhere.
- Add classes before trainers — trainer assignment needs existing classes.

For ongoing management
- Keep class capacity realistic.
- Mark inactive members in All Members — don’t delete, the record matters.
- Use Style settings for everything — Primary color cascades to all add-ons.
For scaling up
- Install pro add-ons strategically — start with Stripe Payments and Attendance.
- Use pre-built templates for a fast polished site.
10. FAQ
Q: Is Gym Builder free?
Yes — the core plugin is 100% free on WordPress.org. Pro add-ons are paid.
Q: Can I use Gym Builder without any add-ons?
Yes. The core covers classes, trainers, members, packages, calculators, basic dashboards.
Q: How many classes / trainers / members can it handle?
No hard limit. Real installs handle 100+ classes, 50+ trainers, 5000+ members.
Q: Does it work with my theme?
Most modern themes work. Verified against Astra, Twenty Twenty-Five, GeneratePress and gym-niche themes. Themes can override plugin templates via {theme}/gym-builder/.
Q: Is it translatable?
Yes. All strings wrapped in __(). .pot file in languages/. Text domain: gym-builder.
Q: Does it support WPML / Polylang?
Yes. Standard CPTs are translatable by both. Pro add-ons inherit.
Q: Where is member data stored?
Custom table {prefix}gym_builder_members. Each row links to a WP user via wp_user_id.
Q: What happens to my data on uninstall?
Uninstall drops the members table, deletes all CPTs/taxonomies, removes auto-created pages. Make a backup first.
11. Troubleshooting
Classes don't show on the front end
Check: (1) class is Published, (2) id references a valid Class Shortcode, (3) permalinks flushed (Settings → Permalinks → Save).
Trainer login doesn't work
Trainers map to WP users by email. The trainer profile must share an email with a WP user. Check the user’s role has gym_builder_trainer capability.
Email sending fails
WordPress wp_mail() is unreliable on some hosts. Install WP Mail SMTP with a real SMTP provider.
Class capacity doesn't decrement
Capacity decrements when a member is created via admin Add Member with class/time-slot picked. Self-registration via WP register page doesn’t pick a class. Install GB Registration Page Popup.
Primary color isn't applying
Check the color is saved. Clear page caching. The color is a CSS custom property --gym-builder-primary-color on body; your theme may override.
12. The Gym Builder Plugin Family
Gym Builder is the free core. Nine optional pro add-ons extend it.
Gym Builder — Free core plugin · A WpDreamers product · PHP 7.4+ · WordPress 5.8+
© WpDreamers — the free WordPress fitness website builder.