BACK TO DIRECTORY

Obydullah Fitness Content Manager holds the dynamic content for a fitness or personal training website. You manage hero slides, services, testimonials, and pricing plans in wp-admin, and booking requests arrive from your front-end form into a dedicated admin list.
The content lives in the plugin, not in a theme, so it survives a theme change. Settings are stored in wp_options rather than theme_mod() for the same reason.
What it does
- Hero slides — a private post type for the homepage carousel. Each slide carries a subtitle or badge, description, and two buttons with their own text and URL.
- Services — a private post type for your service offerings. Title and description come from the post itself, plus an icon field that accepts an emoji or a Font Awesome class.
- Testimonials — a private post type for client reviews. Each entry has a quote, a role or result label, a 1 to 5 star rating, and a result caption.
- Pricing plans — a private post type for pricing cards, with price, billing period, a newline-separated feature list, a custom button label, and a flag to highlight one plan as the popular choice.
- Bookings — front-end form submissions stored in a custom database table. The admin list supports search by name or email, per-status filters with counts, pagination, inline status changes, and deletion.
- Admin dashboard — a single card grid under one top-level menu, linking to each content type and to settings.
- Site settings — contact details, social links, two about paragraphs, coach name and title, certifications, specialties, three stat blocks, and an aggregate rating. All stored in
wp_options.
Design choices
- Content outranks posts. All four content types are private custom post types, so they inherit WordPress revisions, media handling, scheduling, and the block editor. Featured images work as expected.
- Bookings use a custom table. Form submissions are high-volume write-once data with no need for revisions or taxonomy, so they go to a
{prefix}ofcm_bookingstable instead of the posts table. This keeps the posts table clean and booking queries fast as submissions accumulate. - No external services. The plugin loads no remote fonts, scripts, or styles, and makes no outbound HTTP requests. It sends no usage or telemetry data.
- Prefixed everything. Functions, hooks, meta keys, options, nonces, and the custom table all use the
ofcm_prefix, so the plugin cannot collide with your theme or another plugin. - Admin-only content. Every post type registers with
public => false. Nothing added through this plugin is publicly queryable, and the booking table is never exposed to the front end.
Plugin Details
Active Installs
0Total Downloads
104Version
1.0.0Requires WP
6.2Requires PHP
8.0Tested Up To
7.1.3Added
2026-10-12Last Updated
2026-10-12 2:38pm GMTRatings
5
0
4
0
3
0
2
0
1
0