Meeting Series for WooCommerce

A plug-in that turns WordPress and WooCommerce into a machine that sells registrations for meetings, classes, or sessions.

I made this plugin because I was dissatisfied with the landscape of event plugins capable of selling event registrations. Most event plugins make selling registrations a premium feature, but their event management features and interfaces (calendars, event check-in, venue maps, algorithmic schedules) were overkill for my needs.

WooCommerce could almost do the job alone, but its labels and naming conventions make the experience confusing for client and end-user alike—I don’t want the user to “Add to Cart”, I want her to “Register Now.”  I don’t want the organizer to have to look up a list of “Orders” to learn who is attending, it’s better for them—and me—if the labels, emails, and menu items say “Registrations.”

Meeting Series for WooCommerce is the solution. The plugin makes use of standard hooks, actions, and filters. It includes minimal styles and markup. It represents a complete, free, and open source solution for the minimal case of selling events with WooCommerce on WordPress. It is lightweight, flexible, and should work with any theme, product type, or payment gateway.

Source on BitBucket | Download Now | Donate 

 Features

Meeting Series for WooCommerce is opinionated. It assumes the site will be used only for selling registrations to meeting series.

Though it is broad in scope, changes made by the plugin fall into five groups:

  • Rename “Product” and “Order” to “Meeting Series” and “Registration.”
  • Add “Meeting Dates” and “Meeting Venues” in the admin and front-end.
  • Add fields in the editor to choose a “Meeting Subject”; another static page on your site that describes the meeting series. (This makes it easy to host multiple meetings that cover the same shared subject matter.) This description is inserted at the top of the page on the front-end. 
  • Changes buttons, labels, and text on the front-end of the site to provide a consistent user experience.
  • Provides print styles for printing the registration confirmation page as an invoice. 

Front-End Screenshots

Dashboard Screenshot

 

Usage

To get started, you’ll need to install this pluginWooCommerce, and Meta Box. Head to Dashboard → Meeting Series → New Series, and you should see something similar to the dashboard screenshot above.

Meeting Schedule

Meeting dates are input one at a time, so the plugin is well-suited to events that have fewer than, say, a dozen meetings or so. If you’re holding an extensive series of events or have complex scheduling needs you want to find a different plugin.

Meeting Subject

Optionally, choose a page from the “Meeting Series Subject” box. The content of this page will be inserted above the main content on the site front end. (This makes it easy to hold different meeting series that share a common subject matter.)

Meeting Venue

Meeting venues work like categories. Use the description field (available in  Dashboard → Meeting Series → Meeting Venues) for the venue address. If available, the plugin will use this information to generate the directions search link on the front end.

 

WooCommerce

Orders

You can find a list of attendees for your series at  Dashboard → WooCoommerce → Registrations. Click the checkmark in the action column to confirm the registration. To see just attendees of given series, select the series from the select box at the top of the screen and smash that filter button!  

Limiting Registrations

In the WooCommerce Product Data box, you can use “product inventory” to control how many registrations are available. This is displayed as the “_ spaces left” text on the front-end. If you want to hide it altogether, turn off stock management in   Dashboard → WooCoommerce → Settings → Products → Inventory .

Emails

You may also want to to update the titles of the emails sent by WooCommerce to reflect the change from “order” to “registration.” These titles cannot be changed programmatically in a flexible way, but you can manually change them in  Dashboard → WooCoommerce → Settings → Emails .

 

Implementation Details

If you want to style the output, you can use the following selectors:

/* wraps event schedule on the product page */
.meeting-schedule-wrapper {}

/* list of meeting dates. Used on product page and when included on order forms and html emails. */
.meeting-schedule {}

/* wraps event venue name and address on the product page */
.meeting-venue-wrapper {}

/* wraps the meeting series description page content where it is included on the product page */ 
.meeting-description-wrapper {}

The plugin depends on WooCommerce and metabox.io. The plugin is open source and free of copyright or -left encumberment. Suggestions and contributions encouraged: open an issue on the git repository.