My client sets up a stall at markets throughout Shropshire and the West Midlands. On sale are various items of jewellery and trinkets. Many of these items have proved popular and customers often seek to make further purchases. Not all markets happen at regular, predictable times and my client didn’t always attend. So, there was a need to let them know where and when they would be able to visit a market to buy again.
Not just a calendar
We agreed that displaying a calendar would not be efficient as markets tended to be arranged on a monthly basis which would mean only a few of the dated would have entries.
More than just a list
At the same time, we realised a simple list would be insufficient. There needed to be scope to feature an image for each market, a short piece of descriptive text as well as a map of the location.
Because markets across a large region were covered, it was also important that site visitors could easily see when they could visit one near to where they live without scrolling through a long list.
Ease of use
The solution needed to be easy to use and not require a great deal of time and effort to keep up-to-date.
It was clear that while there were a plethora of event listing plugins for WordPress based sites, a bespoke solution was needed.
A starting point
I was grateful that Dan Stefancu, Manuel Schmalstieg had produced the Minimalistic Event Manager plugin. It provided a great starting point as it was intended for theme authors and developers who want a simple, robust and flexible solution for managing event dates.
From there the road map was as follows:
- Create a new ‘Event’ post type for each market to be attended
- Enable the recording of location information for each event to drive the generation of a map
- Set up a widget to display a simple list of events
- Set up a shortcode to display an image, description and link to generate a map
- Integrate Google Maps
- Develop a filter facility based on areas / cities
- Enable filtering without page refresh
- Incorporate animation on every filter operation
Having successfully implemented the solution, I have since created a plugin and made it available for other web developers here. There is a Demo for you to see it in action and a download for installation on your site.