I have a number of websites that are nonprofits and have the need to post various things that are happening. For example, board meetings, meet-ups, events, etc. While they need to post these things, having a full event calendar system is really overkill.
In comes Kevin Geary and his training “Creating a Custom Event Management System” parts 1-4. This is on a pay website so unless you belong to the Inner Circle it won’t be available to you.
The one thing it was missing was a calendar to display on the website. In comes Pie Calendar. Pie Calendar adds a calendar and so much more. It eliminates the need for a custom post type to have date fields. This lightweight calendar has the following features:
- Turn Any Post into an Event
- Works With Any Post Type or CPT
- Single, Multi-day, All Day Events
- Multilingual
- Custom Fields Support
- Widget Mode
And all the above are FREE, but I recommend you get the pro version as it has:
- Recurring Events
- Add to Calendar Links
- Adaptive Time Zones
- Color Coded Events
- Woo & EDD Support
- Category & Tag Filters
The one thing it doesn’t have is direct support for Bricks Builder. You can access the Pie Calendar meta fields by using {echo:cf__piecal_meta_field} ( ex:{echo:cf__piecal_start_date} ) and this will display the field. Note: the cf_ is a feature of Bricks Builder and the _piecal_meta_field is a feature of Pie Calendar. The problem with this is the date when it is output is like this “2024-03-14T14:49:53”. This is not very usable if you want to display a date or time in a card. Update: I have had MAJOR problems with Bricks and using echo commands. This has no such problems.
Here is an example of what is possible using this snippet:
Using the echo commands the date and time display above is not possible.
Now to the technical part. The following dynamic data tags are implemented:
- _piecal_is_event = {pc_is_event} = true or false
- _piecal_start_date = {pc_start_date:date_format} see date formats below.
- _piecal_end_date = {pc_end_date:date_format} see date formats below.
- _piecal_is_allday = {pc_is_allday} = true or false
These Pie Calendar tags are also implemented:
- _piecal_is_recurring = {pc_is_recurring} = true or false
- _piecal_recurring_interval = {pc_recurring_interval} = integer
- _piecal_recurring_frequency = {pc_recurring_frequency} = string (DAILY, WEEKLY, MONTHLY, YEARLY)
- _piecal_recurring_end = {pc_recurring_end:date_format} see date formats below.
- _piecal_color = {pc_color} standard color hex code (#c42a2a)
- _piecal_text_color = {pc_text_color} standard color hex code (#c42a2a)
One thing to note is that the time zone is NOT stored with the date so I have attached the time zone value to the end of the stored date meta field. This makes the field look like this “2024-03-14T14:49:53-0600”. This will match the format of the “{current_wp_date:c}”.
Also be aware that the date time may be present in the database even though the “is_event” is false. Always do a check before displaying the date or time.
Here is a link that you can download this as a plugin. It is a very basic plugin and does not test to see if Pie Calendar is installed. When I have time, I will add additional checks and enhancements. Some of the things I want to add is recurring events.
If you have any problems please contact me.
Install this at your own risk. Please, please, please test this offline and not on a production environment.