March 16, 2014 Web DevelopmentWork
Building a Better (Post) Filtration for JCC Camps
I was first assigned the task of “build a website for JCC Camps” back in July 2013. When this happened, the talk was mostly emulating our existing directory website for JCCs, DiscoverJCC.com. That website was built before my time, using a software from our Preferred Vendor, Accrisoft. My boss would take the lead on the design, and we would create a modern website that tested the limits of our brand standards.
My goal was to create a customized directory profile that was broken up by lots of small pieces of meta data, with a lot of possibilities for searching. My boss created two mockups: the homepage followed the trend of the single page website, with four sections, and the inner profile page highlighting various pieces of information. It was my task to realize this design.
The Building Process
I began building a custom WordPress theme for the JCC Camps website in August 2013. The most arduous task was creating a filtration system that not only worked, but that was actually useful for our intended audience, potential parents of campers. There was no point in having eight different options for searching, if parents only cared about location, type of stay (day or overnight), and specialized activities.
I built and re-built the camp profiles a total of four times. Though I’ve built custom post types before, none of my previous projects had to have a filtering system. I discovered that although my old projects all were perfectly functional, the way I had learned to build custom post types was not going to work. I had to come up with a new solution.
I stumbled across a blog post by Zoe Rooney, WordPress + Filtrify. This seemed to be the perfect solution. I decided to go with her solution completely, using the Advanced Custom Fields plugin instead of building custom fields on my own. I found this to be incredibly helpful in not only cutting time that I had labored in building each and every small piece of the camp profile, but also in having a way to assure that the data would always turn out exactly the way I wanted.
Though I’m normally a very “do it on your own” person, plugins are made for a reason, right?
On my third go-around, I built the profile system using Filtrify. The system worked great. I could easily and immediately filter the camp profiles, narrowing it down via Ajax. But I realized I had a problem: there was no “back” capabilities. Because the filtering was done via Ajax, it wasn’t saved in the browser. Parents would have to re-enter their entire search query again should they want to find more camps. This was not going to work for a long-term solution.
I scrapped Filtrify, and started looking for plugins with search capabilities that were compatible with custom post types. With my new knowledge, I was better able to understand what various plugins offered (and what I wanted to achieve).
The Solution
After several weeks of focus on the project, I finally tackled it. I knew what I wanted parents to be able to achieve, and the workflow I wanted them to take. The Taxonomies Filter Widget gave me exactly the solution I was hoping for. Camps could be searched via multiple taxonomies, including location, activity, and session length.
I segmented the camps out into day and overnight camps. This goes under the assumption that when searching for a camp, parents have already decided to which type of camp they want to send their child.
The website has changed significantly since its inception. It is no longer just a single page site with additional camp profiles. There are several static pages, testimonials of campers and staff, a blog from camp directors, and over 100 individual camp profiles. The camping department had several requests of information to include, and the project continued to grow.
After eight months of work, the website is almost complete. The JCC Camps website will launch on March 31, at the beginning of the JCCs of North America Biennial.