The Vizou Events Manager plugin was conceived for my own and my clients’ use (mostly musicians). We needed an easy way to add gigs to our calendars and display them in a variety of ways (upcoming, past, by artist).
This privately developed plugin – not available in the WordPress repository – is based on the conceptual approach of the now-deprecated GigPress plugin (from talented and helpful Canadian developer/musician Derek Hogue). I used and loved it for many years until it was purchased and subsequently phased out by The Events Calendar (Modern Tribe), who offer both a free and a paid Pro version. When GigPress got flagged as containing a security vulnerability, I decided it might be fun to build a similar plugin for my own use. While The Events Calendar is appreciated by many, it was overkill for my clients’ simpler needs. I also had difficulty with The Events Calendar’s GigPress import option – there appears to be a frequently-cited issue with imports hanging or not completing, which was what I experienced after many hours spent trying on different servers and fooling with PHP and memory settings.
As the proverb says, necessity is the mother of invention. Just call me Mom.
Vizou Events Manager was made in Québec over the winter of 2024-25 with the help – as well as some incredibly annoying detours – from claude.ai, who somewhat ironically bears the same name as my humanly-intelligent partner, allowing for some comical discussions about the many hours I was spending with my new “boyfriend”. The learning curve was steep, and I’m still tweaking this project, but so far, it’s working well for my particular needs. I especially love being able to import old GigPress data (thank you, Derek, for making that possible), a feature I added so that my clients and I wouldn’t have to start over from scratch.
Once my plugin is a bit more mature, I plan to add it to my Github repository and make it publicly available to anyone who’d like to use, modify or improve on it.
Vizou Events Manager is dependent upon the very popular free (or Pro) version of the Advanced Custom Fields (ACF) plugin from WP Engine.
Features
Custom post type (Events) making it easier to manage event posts all in one place
Event data including venue, artist, date, address, venue URL, ticket URL, tour, and event status
Auto-generate a unique URL for every event (no duplicated post title increments)
Automatically add a venue, artist or tour to the database
Choose from existing venues, artists and tours
Add, edit and delete venues, artists and tours independently and sync them with existing events that use them
Change event status via Quick Edit on All Events admin view
Display event listings via a shortcode that filters on date, status, tour, artist, limit (number of events)
Option to override both the default both the listing and single event templates within your theme
Option to turn off default CSS and add or modify it via your theme’s stylesheet
Lots of classes to help you customize event display
Option to provide your own “More events to come” text and replace event status names (Active, Cancelled, Sold out, To be rescheduled) with your own.
Option to display Venue or Artist first on frontend
Option to import events (based on deprecated GigPress plugin CSV, but can be imported from any CSV with matching headers)
Option to export all events as a CSV file. Download a sample csv file here.
Custom fields are auto-created on plugin activation but are not visible in WordPress/ACF plugin admin to prevent accidents from happening to events field data.
Screenshots
Click on an image to enlarge it.
Settings
General settings
No events text – Customize the text that appears if there are no upcoming events.
Status labels
Active, Cancelled, Sold out, To be rescheduled – Customize the default statuses with your own names. They will be synced to the Events editor, too.
Display options
Display format – Choose whether the default layout displays the Venue or Artist first. This is ignored if you add your own template to your theme.
CSS – Override the default stylesheet if you’d rather add your styles to your theme style.css.
Danger zone
Clean uninstall – Check the box to get rid of all Events data when deleting the plugin. You might want to export a backup CSV before doing this, in case you change your mind.
Use the shortcode
[vizou-events] is the shortcode. By default, it gets all active, upcoming events in ascending order.
Use it with the following parameters to get a variety of data:
show – “upcoming” (default), “past”, or “all”
year – YYYY to filter by year
order – “asc” (default, nearest date from today first) or “desc” (latest date first)
Ascending (next up) order. This is the default. If the artist or venue have an associated url, it will automatically be linked. If there is a ticket url, a ticket link will be displayed. Adding a featured image is optional; if there is one, it will be displayed by default in the right-hand column.
408 Boulevard Manseau, Joliette
, QC (CA)
Claude Méthé avec D'Accoutumée.
Default events list template
Sun, Nov 17, 2024
1:00 pm 1:00 pm
Dansez jusqu’au printemps / Bal Maski Café Coop / Claude Méthé & Dana Whittle
401 rue Maskinongé, Saint-Gabriel-de-Brandon
, QC (CA)
Danse familiale dans le cadre du projet de Sophie & Fiachra! Entrée gratuite, contribution volontaire.
408 Boulevard Manseau, Joliette
, QC (CA)
Avec André Marchand à la guitare.
Default styling
The plugin comes with default CSS and a basic layout. Both can be overridden via a folder and files added to your theme. Images added to the main editor area will appear in the “notes” for the event, allowing for flexible display of photos, logos, etc. This allows for more flexibility with or without using style or layout overrides.
Override the default CSS
In your WordPress admin, visit the Events/Settings page and tick the box to override the default stylesheet.
Copy the plugin’s default stylesheet vizou-events.css (from assets/css/vizou-events.css)
Open it in a text editor and copy the contents into your own theme’s style.css
Customize the events CSS to taste
Below are a list of available classes that you can modify. Depending upon your own stylesheet and where you add the events to it, you may need to use !important to override a particular class or selector.
.event h3 { font-size: 1.5em !important; }
.vizou-events-container
.event
.event-date
.event-time
.event-tickets
.event-thumb
.event-address
.event-street
.event-city
.event-province
.event-country
.event-artist
.event-venue
.event-past
.event-cancelled
Use .single .event to target styles on the single Event template.
The current default CSS hides certain elements when events are past – you can hide other elements – or make them visible – by copying the following to your theme’s style.css and modifying it.
Copy vizou-events.php from the plugin’s templates folder
Create a folder called vizou-events in your theme (or child theme) directory
Add vizou-events.php to the vizou-events folder and edit the template to suit –keep a backup in case you break it!
Upload the new vizou-events folder and its contents to your theme in wp-content/themes/yourtheme.
Override the default single event template
Follow the same steps as above, and add vizou-single-event.php to your vizou-events folder.
Import and export events
The import tool is only compatible with a CSV file (“comma separated values”, sometimes called comma-delimited). A CSV file would look something like this if opened with a text editor, with each event entry’s content separated by commas, following the format of the first line, which is the “header” row if you open the CSV in a spreadsheet application (Numbers, Excel, etc.) :
Whether you are importing events from a GigPress or other CSV file, just make sure the columns and column headers exactly match the list below (the order doesn’t matter). You can edit your CSV in any spreadsheet application (Numbers, Excel, etc.).
Be sure you don’t include table headers in your CSV file or your import will fail (this is an option on export in some spreadsheet apps).
Remove extra columns or add any missing columns – they can be empty if you don’t need that data, but they need to be there for the import to function properly.
Note that if you had thumbnails (featured image) with your events, you will have to add them manually as this import/export tool doesn’t import or export images (a complex process).
Required columns
Order doesn’t matter.
Date – any valid date format
Time – any valid time format
End date – any valid date format
Artist – the name
Artist URL – valid URL
Tour – text
Venue – text (by default, this will be the event “title” as well)
Address – street
City – text
State – text (abbreviation or full name is your choice)
Country (any format – CA or Canada is fine)
Venue URL – valid URL
Status – active, cancelled, sold_out, reschedule are the defaults for this plugin
Changed Event editor field “Event name” to “Venue name” to maintain consistency (post title and venue name share the same data)
Added descriptions and instructions to Venue name, Artist and Tours fields in the event editor
Added a template tag system to help with custom overrides (in the theme) of both list and single event output
Added a Settings option to choose whether Venue or Artist should be displayed first in the default events list template and improved Settings layout
Added syncing of custom status text with the Event editor view
Changed “Import/Export” to “Tools” to future-proof in the event of new options being added there
Split override templates into “start”, “end” and “list” for ease of use and updated shortcode and permalink handling for the new template structure
Updated permalink structure to add artist to the URL (venue-name-artist-yyyy-mm-dd)
Added Quick Edit option to All Events admin view
Version 0.1.5
Updated taxonomies and venue handler include files to use the proper “event_” field key (like other plugin field data) for termmeta table in WordPress database, with backward compatibility for any sites where it didn’t already do this
Updated default list and single event templates to check for either type of field key (for backward compatibility)
Version 0.1.4
Added container class to output
Updated CSS to include new class
Updated Help page
Version 0.1.3
Updated default CSS
Automatically add publish date to duplicate venue permalinks
Version 0.1.1
Added address fields to Venue management taxonomy
Improved syncing between Venue and Artist management and Event editor
Improved loading of pre-populated fields in Event Editor
Added auto-generated, SEO-friendly URLs
Added single event template and option to override it
Changed default All Events order to descending (future dates at top)