WordPress Plugin SEL – Simple Event Listing – Listing Events made Simple
I am currently working on my first Premium WordPress Plugin. The Plugin is called Simple Event Listing SEL – and as the name already suggests it was designed with simplicity in mind.
The plugin can be used to build a database of events like concerts, screenings or meetings – and then list those events in various ways. The plugin should actually be suitable for example for bands, venues and smaller movie theaters. However, designing the plugin I had websites of artists, galleries, museums and magazines in mind – listing events, that would be running over a couple of days or even months.
Your Design – Your Preferences – Your Output – if you want
While the plugin can be used “out of the box” is does provide a lot of options that let you define what the actual listings should show – and how they should look like.
- The plugin comes with a set of templates. You can however copy those templates to your theme directory and add/remove any of the output information and/or add/remove any of the html tags.
- The built in shortcodes let you specify which template you want to use. In a “concert listing” you may for example want to add the Start Time but no End Date – for an “exhibition listing” however you would probably want to show an End Date, but no Start Time. And for a third listing “community events” you may want to decide on a per event basis – which is also very well possible through the options in the admin panel.
Let your archive work for you (“all events aboard”)
Over the year you might probably add dozens if not hundreds of events to your events database. Many event management plugins however only make present and upcoming events available to your audience – and to search engines. With SEL you have the long tail on your side – or actually on your site: with archive pages for past years and/or months you make all your past events accessible.
Virtually unlimited calendars / unlimited event listings
With SEL you can have a virtually unlimited number of calendars / event listings on your website. Simply add a new event category and then implement the category listing with a corresponding shortcode.
- Booking agencies and record labels can for example have a central tour plan for all their artists and a separate tour plan on each artist page.
- Galleries can have a central page for upcoming and current shows and list past shows on each artist’s page.
At the moment the default features are:
- Custom Post Type ‘Event’
- Start Date and End Date, optional Start Time and End Time
- Venue Information, optional link to a related page elsewhere
- A ‘real’ page is generated for every event
- Put everything on the events page you want: text, photos / photo galleries, videos – and of course you can also enable comments if you like to see discussions on or reviews of your events on your website.
- Optional feature image for every event
- no extra database tables needed – no overhead, no mess
- Event Categories
- Have different categories of events in different section on the same page OR
- Have different pages for each category OR
- List events of all categories and use categories as labels
- Featured Image
- Have an image in the listings and/or on the Event Page
- The Listing Pages are composed by the template “single-event-in-loop.php” you can find in the plugin subfolder “sel-templates”. You can copy that directory to your theme folder and modify the template to your preferences.
- The Event Page uses the page template “content.php” by default. It can be replaced by “content-event.php” just like with any other custom post type.
- Shortcode for individual event listings:
- next month, current month, previous month, specific month
- No design overhead – integrates with virtually every design. You want masonry list your events the masonry way? Fine – go ahead. You like colorful sticker style instead? That’s fine with me…
- Fully responsive – no tables or the like
- HTML5 / CSS3
All listings are real pages and can therefore be optimized like any standard wp page:
- every event is a page
- every month listing is a page
- upcoming events is a page
- the events archive can of course also be put on regular pages too
- fully Yoast compatible
- Google Maps compatible
The plugin SEL does not bring its own Google Maps Interface. At least not yet. You can however use Google Maps on SEL Event Pages just as you would on any other pages. Also SEL is fully compatible with other Google Maps plugins such as the free plugin Intergeo Maps by Themeisle (affiliate link).
What Simple Event Listing can not do / Not features
- Tickets, Reservations etc.
The plugin can however not handle enrollments, tickets or reservations. There are other plugins that can handle these things much better. Still want to use SEL and need to sell tickets for an event? Then you could for example install a ticket plugin for WooCommerce and put up a link from your event page to the related URL in your ticket shop.
As mentioned above SEL provides you with a number of shortcodes and parameters that enable you to bring a lot of pages in place – for a good reason. So currently SEL will not support calendar views that can be browsed dynamically. I believe in real pages, in real URLs, in real clicks. Every page that can be bookmarked or forwarded or posted directly is a good page. If you are instead looking for a solution where you can browse the whole calendar in one view you should probably try a different plugin.
- recurring events
Since one of the main focuses of this plugin is Search Engine Optimization, events and event listings are ‘real pages’ with all the benefits real pages bring. On the other hand this means that a feature “recurring events” would be difficult to implement. The plugin would have to actually save a copy for each re-occurrence. So for now there is no feature “recurring events” for a reason. I will however work on a feature “clone event” which should make it easy to manage recurring events.
Out of the box the plugin will provide you with a new content type: Event. Once you add events, you will find a basic listing of all your events on the archives page under “/events”. You will probably notice that since this is a regular WordPress Archive Page, it will list “all” of your events in a chronological order – based on the date when you actually added the event. To get only upcoming events on your archive page all you have to do is copy your theme’s archive template, replace the default loop with the PHP snippet listed below to invoke the Shortcode and save it under the name “archive-event.php” in your theme folder. The Archive Page will then only list upcoming events for the next 30 days.
The SEL Plugin comes with a vast number of built in options. Most of the options can be set on a per-list basis directly through parameters you add to the shortcode. Additionally there are a few options, or rather presets you can define through a settings page:
- Use Start and End Time
You can enable/disable the usage of Start Time and End Time globally. If you happen to have mostly one-day-events you probably want to use at least the settings for Start Time. If you instead are listing multi-day-events like exhibitions etc. you might not actually need the settings for Start Time.
Simple Event Listing Shortcodes
By default the shortcode [events] lists all upcoming events for the next 30 days. The shortcode [events range=”201612″] however lists all events for December 2016. Events can begin and/or end after the selected month – as long as they are ‘running’ in the specific time period set by the parameter “range” they will be displayed.
- Default listing on Archives Page “archive-events.php”
- replace the loop with <?PHP echo do_shortcode(“[events]”); ?>
- then check yourdomain/events for the events listing
- Overview on custom page + shortcode [events]
[events] will show all upcoming events for the next 30 days
Simple Event Listing by month: [events range=’201605′] for “May 2016”
Simple Event Listing for next month: [events range=’nextmonth’]
Simple Event Listing for the current month: [events range=’currentmonth’]
Simple Event Listing for previous month: [events range=’prevmonth’]
Simple Event Listing for upcoming events of category 16 [events cat=’16’]
Simple Event Listing for upcoming events of category 16 AND 17 [events cat=’16,17′
Events of category 16 in next month [events range=’nextmonth’ cat=’16’]
Evoke Shortcode in template files like this:
<?php echo do_shortcode("[events]"); ?>
The Plugin comes with a handy widget that can display a list of upcoming events.