This week I create a WordPress site for a glider community with a booking system, memberships, status beacon, online store, and integration into Google Groups. Plus I touch on a few of the most powerful features of WP I hardly hear people talk about.
WordPress plugins mentioned on the show:
- [highlight]Paid Memberships Pro Recommended![/highlight]
- [highlight]Custom Post Type UI Recommended![/highlight]
- [highlight]Advanced Custom Fields Recommended![/highlight]
Hi I’m Tom Litchfield, Coming up on this broadcast…
- Why do I spend most of my time developing WordPress websites? Hint: It’s not what you think or have read before!
- And… Flying High with WordPress
This week I’m wrapping up a WordPress project for the Eagleville Soaring glider club in Tennessee. The site is for an association of pilots who have a real passion for flying gliders.
This group had a WordPress site already, but wanted a redesign and to address some functionality issues they had with the old site.
The project presented some interesting challenges.
The site was beautifully designed but if you know me I’m usually brought on a project to handle the site functionality.
In this case, some of the requirements included a membership only section, an online store and booking capabilities so members can reserve and pay for aircraft rentals and glider tows. In case you’re unaware, a glider has no engine, so a traditional airplane must pull the glider the behind it, like towing a car, from takeoff until the glider is at the right altitude. So if someone wants to fly a glider, they need to make an appointment with another pilot for towing.
For the online store and membership’s functionality I chose to use Woocommerce and the Paid Memberships Pro plugins. These are the standard plugins I usually go with for physical products and memberships. For digital products I normally use Easy Digital Downloads.
For scheduling and paying for appointments, I used Bookly, which is new to me. Never used that one before for any project. Found that plugin on Code Canyon and it’s working out well.
So far, so good. Now we get into some of more challenging aspects of the site.
One of the requirements for the new site is a status beacon to quickly alert members if the group was cleared for flying on a particular day. As you might imagine, if the weather is not good, they can’t fly. Make sense. So members can visit the site and see what the status is for that day.
When visiting the site, there will be either a green Go icon, a red No Go icon, or a gray undetermined status icon. Undermined simply means a decision has not been made yet for flying.
One of the club staff members signs into the site in the morning to update the status for the day.
My job was to create an easy way for staff to set the status and make a few notes, perhaps why they can’t fly that day, or if they are flying, maybe wind and weather conditions for people to be aware of.
Here’s how I tackled the challenge. Now, before I explain how I handled this, there was an additional requirement that when a new flying status is posted, a note is sent to the Google Group that all the members belong too. That way, members could receive the status update by email and have a conversation about it with other members via Google Groups.
So whatever solution I came up with, it had to include a broadcast to Google Groups.
Here’s what I did.
First I installed the Custom Post Type UI plugin to create a new post type in WordPress to collect the information, which was the announcement title, message and begin and end dates. I called the new post type Announcements.
Then I installed the Advanced Custom Fields plugin to create the date fields for my Announcements post type.
These are two plugins I rely on heavily for my projects: Custom Post Type UI and Advanced Custom Fields or ACF. They work well together and save me a ton of time. Without them, I would have to do a lot more coding which can add more time to a project and possibly introduce bugs that have to be fixed.
Now, the folks that are entering new announcements on the site are not familiar with WordPress, so I had to create an easy to use entry form. I went with Gravity Forms and created a simple input form. Then I linked the form up with the announcement posts using the Gravity Forms + Custom Post Types plugin (that’s a mouthful). So each form entry would create a new announcement post.
In case you’re wondering, the form is on a page only accessible by special members of the association so the public isn’t able to create announcements, which you can image may cause some problems.
We’re looking good so far. We have a way to capture announcements, but how do I display the Go, No Go, or undermined icons on the site.
There are two places the client wanted to have the icons. In the header at the top of the site and on a member’s dashboard page. The dashboard would have status icon and the entire announcement text, while the header would just have the icon only.
I decided the fastest way to implement the status icons and message was to create a shortcode that could be placed in different areas of the site.
The shortcode would grab the most recent announcement, determine by date if the announcement was still valid, then display the appropriate icon and announcement text.
So I coded a new shortcode that has two modes: Icon only and Full announcement. The designer I worked with on the project took my shortcode and used it on the dashboard page, adding some style to it.
You should see this dashboard page. I best way I can describe it like gauges in an airplane cockpit. So there’s a big green beacon on the dashboard if they are flying that day with isplay box that shows the announcement text.
I added my new shortcode to the header.
The result looks and works great! It was easy to do thanks to some great plugins. However, I still wasn’t done yet!
I needed to figure out how to send new site announcements to the Google Group.
Here’s what I did:
WordPress has a powerful built-in feature that I’m going to talk more about in the next segment of this show: And that feature is RSS feeds.
Because each announcement is like a post (it is after all, a post type) it will generate a feed of all announcements, past and present. Each new announcement is auto-magically added to the feed as soon as it’s published.
I wrote a quick PHP script to monitor the feed and when a new announcement is detected, an email is sent to the Google Group.
I joined the Google Group using a special email address I created just for announcements. The script I wrote uses this special email address to send a message to the group. Since the email belongs to a legitimate member, the announcement is posted to the group and all members see it in their inbox.
There you have it. A custom announcement solution that was fast and easy to implement and required very little coding.
If you’d like to check out the site, it’s Eagleville soaring .org. But half the stuff I talked about is closed to members, so you may not be able to see it. But it is a beautiful site that you may want to see anyway.
If you have any thoughts or questions about the solution I just described, I know I went through it very quickly and left out a bunch of stuff, so if you want to know more please reach out to me on Twitter. At the end of the show I’ll tell you how to find me.
For the Eagleville soaring project, I leveraged a lot of great tools for WordPress. 5 years ago, I’d probably have to program about 60-70 percent of the solution I described.
This is the power of WordPress and one of the things I wanted to discuss this week: why I chose WordPress for so many projects.
It’s not that WordPress itself is great, I think it can be much improved and it’s possible in the next couple years a new platform may emerge that is better WordPress.
But until then we have WordPress and here are my top 3 reasons for choosing it for your next website project.
Reason #1: Stability and reliability — WordPress is an incredibly stable platform. More than once I was handed a site that had not been updated in 5 years or more. No plugin updates, no WordPress updates. Amazingly, I brought everything up to date and nothing broke! And like I said, I’ve had this happen more than once. That just doesn’t happen on other platforms—simply amazing.
As a developer, it’s just a simple system and easy to fix most problems. I appreciate the simplicity when working with it. But don’t mistake that simplicity for power, as WordPress powers some of the biggest sites on the interwebs.
Some may argue my point and bring up hacking, which is a major concern of course. But it can be minimized and as bizarre as this sounds: the positive outcome in the perception of WordPress being vulnerable is that more site owners are aware and taking steps to project their sites.
Because in my experience, most business owners do nothing to project their website until disaster strikes. For the first time in my long career, I’m being asked about security by clients before I do a project, when I think is fantastic!
Reason #2: The community – What I mean by community is the number of plugin and theme options available to WordPress site owners. I started out my career in programing, but it’s rare these days that I do custom coding. It’s because whatever clients dream up, there is usually a plugin or theme that will support it. The Eagleville project is a great example of that: online store, memberships, directories, application forms, appointments all handled by plugins. I just a little coding at the end to connect a few of the pieces.
Reason #3 (and possibly my favorite reasons): Feeds — This is a powerful feature of WordPress that I don’t hear people talking about: RSS feeds.
I don’t want to turn this into an explanation of RSS. If you’re unsure what it is, you can look it up on the interwebs or ask me after the show and I’ll help you understand. I just want to keep this broadcast to a reasonable time.
But I can tell you that RSS is a powerful tool that you can use to syndicate your website content and do a lot of other things.
With WordPress, in addition to articles, each category, tag, post type, author can be turned into a own feed, and each feed can be connected to social media, other websites, online groups, email, lots of stuff.
Feeds are handy tool that can help solve problems. Recall in the Eagleville project that I needed a way to post announcements to a Google Group. Boom—rss feed!
I’m so grateful that the WordPress team thought to create feeds from each different way content is organized on a website.
Its tool that I use a lot and I really think more folks should take advantage of it.
That’s it for Techie Secrets this time around. I know I glossed over feeds during the show. I kinda leave the show feeling a little uneasy that I didn’t really express the power you have in your hands with WordPress.
So if you have questions about feeds or WordPress in general, please find me on Twitter for continued conversation on these topics and more. Simply search Twitter for @ tomlitchfield or search for hashtag TechieSecretsPodcast
Thanks and see you next time.