Display special events, class schedules and instructors from Mindbody. Light weight, fast. Configurable with template over-rides.
Display special events, class schedules and instructors from Mindbody.
Configurable with template over-rides in your theme.
Easy to extend, includes feature for displaying registrants.
Schedule display can be vertical or horizontal. User can switch between both.
Open Source on GitHub
You need to register a developer account with MindBody, which costs $11+ per website. Follow the instructions at mZoo.org.
Now that we’re using Mindbody’s v6 api, this should be pretty easy to get going.
Steps to install and configure MZ Mindbody API:
mz_mindbody_api
to the /wp-content/plugins/
directoryI’m not sure if there’s an easier way, but you can find them by, within MindBody,
going to an Event EDIT page and viewing the source of the Dropdown menu items, which
contain the name of each event type and it’s associated ID number.
Support specified schedule length in instance of RetrieveClasses.
Abreviate short description and limit to five tags.
Fix bug in get_registrants.
Migrate some css to child plugin.
Tested up to 6.5.2
bugfix: missing classId in retrieve registrants
Clean out some old code.
Remove some logging.
bugfix: show registrants hadn’t been working because data-classid was missing.
some refactoring of MBO library.
replace some implementations of ajax with wp_send_json methods.
Fix: dumb, wrong syntax for casting string to int.
Log and return error string if MBO token request response code > 299.
Migrate Session management from MBO Access plugin.
Add support for Consumer API and Oauth via extension plugin.
bugfix: Correct dates in horizontal_display schedule.
enhancement: log api_calls, if configured to, in weekly increments, named by week date.
bugfix: Ensure AccessToken key exists; avoid notices if Access plugin being enabled without MBO credentials.
bugfix: Esc_Html on Staff Bio on Events display.
Remove broken pre-update admin message feature.
Reduce API calls when the Memberships and Contracts are not defined.
Wrap plugin update message fetch readme.txt in try catch in case unable to access.
Add limited wp-cli support: clear transients, fetch new api key, reset admin api excess alerts.
Create transients for empty Site and Sale endpoints so not continuing to ping API looking.
Refactor admin email on api call excess, set cron job.
Subclass v5 and v6 APIs to share some methods.
Add admin button to remove email api access excess alerts.
Improve error message when too-many api calls exception bubbles up.
Update signup link to match new Mindbody url.
Update event registration link to match new Mindbody url.
Improve token check to prevent error.
Set default log file path in plugin upgrade check.
Move deactivate_plugins to admin_init action to insure the function is loaded.
No location id in queries.
Refactor use of hooks on activation, deactivation, initialization.
Bugfix: Clean out old files from subversion repo.
Bugfix: initialize event_id selection to quiet php warning.
Bugfix: coerce is_substitute to int so strict comparison works.
Bugfix: Correct misuse of wp_date.
Implement more WP Standards.
Replace my get_blog_timezone() with native wp_timezone().
HTMLEntity decode staff biography.
Bugfix: Correct path to Frontend view Templates.
Bugfix: Update uses of date and wp_date methods.
Bugfix: Events locations corced to int to strict check.
Release method update, using composer install –no-dev.
Bugfix: error with modal popup on Staff gallery.
House Cleaning: WordPress standards updates, docblocks.
Bugfix: calls to check_ajax_referrer
Bugfix: check_ajax_referrer to check_admin_refer where admin.
Refactor to meet PSR12 standard recommendations.
Replace date_i18n with wp_date.
Replace rarst wordpress datetime with new WP native functions.
Allow calls to check_ajax_referrer to die on fail.
Bugfix: Catch error thrown when Too Many API Calls level reached.
Notify admin of too many API calls within add_action plugins_loaded hook.
Just in case faulty deploy not fixed previously.
Fix faulty deploy.
Bugfix: Remove test print.
Refactor token management, moving storage out of MBO api class.
Bugfix: Correct endpoint for Site requests.
Add authorization header for some endpoints.
Support Authorized MBO transactions.
Add Bootstrap modal css.
Update admin api test script, removing a call to log function.
Debug: Fix another coding error in class-activator.
Debug: Fix coding error in class-activator.
Enhancement: Change button text to “waitlist” for waitlist only registrations.
Enhancement: Allow specification of SessionTypeIds in shortcode to specify retrieval data
Bugfix: Just passing token string, as opposed to object so don’t try to get property.
Enhancement: Disable signup button when class is at capacity and no waitlist available.
Bugfix: jQuery Staff popup conflict resolved.
Enhancement: Allow admin to set schedule transient duration.
Bugfix: Cancelled classes were being hidden even when not configured to be hidden.
Remove Pad empty calendar days with blank rows until bugs worked out.
Pad empty calendar days with blank rows.
Bugfix: Fix transient usage. Had been calling API every time.
Bugfix: Stop importing sign-up script that was calling a non-existent method.
Bugfix: Alphanumeric validity check was targeting object rather than string.
Bugfix: get_and_save_staff_token from private to public to hook accessible.
Update npm dependencies as per DependaBot.
Enhancement: Support override for transient in get_mbo_results.
Bugfix: Class method name had changed in one place, but not in another.
Add a helper function.
Bugfix: fix session_type shortcode attribute.
Bugfix: some debug logging
Remove Sessions and Client which are now in a child plugin.
Bugfix: fix php missing call to MZMBO to specify variable as class property.
Bugfix: Reinstate siteID used in signup links in class schedules.
Bugfix: Fix way cancelled classes handled.
Increase limit of items pulled from MBO from 100 to 200 (the max).
Utilize v6 of the MBO API with v5 left for legacy purposes.
Updated Credentials will be required.
Minimum php version of 7.0.
Swap out “loading” element with Bootstrap load.
Upgrade to Bootstrap v4.
Manage assets with Webpack instead of Bower.
Add support for MBO Access plugin.
Alert admin when API calls get close to 1000 and short circuit calls when past 2000.
Bugfix: fix php error displaying on schedule when MBO credentials bad.
Bugfix: fix event registration URL.
Bugfix: some registrations were pulling user data from previous class registration.
Bugfix: reinstate default timestamp in retrieve classes time_frame method.
Bugfix: url for class sign-up via MBO
Bugfix: add default checkbox values for a couple of admin settings
Fix/reinstate single day schedule display
Fix problem with deactivation method.
Fix issue with specifying locations in Events display
Fix issue with incorrect “default” listed in Admin page copy.
Add ability to filter events listing by location.
Fix path for Template override directory
Completely refactor the plugin with a more informed approach
Implement Gemajo templating class so users can overwrite shortcode templates
Implement Eric Mann’s WordPress session managment
Allow users to login and out, create accounts within same page as schedule/events
Separate plugin codebase from Docker dev env wrapper
Add try/except wrapper around SoapClient
.
Add try/except wrapper around require Server.php
.
Add unit test scaffolding
Add Autoload and namespacing
Add option to log MBO API calls
Add docker wrapper and phpunit test scaffolding.
Bug fix: missing (not yet used) dependency.
Bug Fix: Replace Global that wasn’t available.
Fix error where only single week of events displayed.
Fix break with events listing that occurred in last release.
Fix break in signup links also from recent updates.
Show full seven days in horizontal mode starting current day.
Remove date filter from javascript to php.
Remove Modernizr.
Add shortcode to display limited number of events.
Fix typo and add class.
Fix issue with events duration length display and enable modal window on events list.
function($) { //$ here })( jQuery );
$(document).ready(function($)
with jQuery(document).ready(function($)
This release includes the most new features and also uses a more minimal version of bootstrap code:
just the necessary components. New jQuery filter, grid mode schedule view, configurable event cycle duration,
multiple accounts and locations can be shown also via shortcode attributes.
Internationalized – so far Spanish and Portuguese.
Fix some HTML validation errors in schedule table layout.
(Re-)integration of short code type=day for schedule page to show “today’s” classes.
Further navigation refactoring.
Refactor navigation and address conflict with older version of MB_API.
Fix navigation on Schedule page when Force Cache not selected.
Initial release.