Title: Pie Calendar &#8211; Events Calendar Made Simple
Author: Jonathan Jernigan
Published: <strong>2 Am Màrt 2023</strong>
Last modified: 24 An Gearran 2026

---

Search plugins

![](https://ps.w.org/pie-calendar/assets/banner-772x250.png?rev=3283614)

![](https://ps.w.org/pie-calendar/assets/icon-256x256.png?rev=3283614)

# Pie Calendar – Events Calendar Made Simple

 By [Jonathan Jernigan](https://profiles.wordpress.org/apexws/)

[Download](https://downloads.wordpress.org/plugin/pie-calendar.1.3.0.5.zip)

 * [Details](https://gd.wordpress.org/plugins/pie-calendar/#description)
 * [Reviews](https://gd.wordpress.org/plugins/pie-calendar/#reviews)
 * [Development](https://gd.wordpress.org/plugins/pie-calendar/#developers)

 [Support](https://wordpress.org/support/plugin/pie-calendar/)

## Description

**Create an event calendar in less than 4 minutes. Simple, flexible, and light-weight.**

Pie Calendar lets you effortlessly turn any post on your WordPress site into an 
event, making it visible on a user-friendly front-end calendar. It doesn’t lock 
you into any post type – use the default WordPress posts or pages, or create your
own Custom Post Type (CPT).

This plugin is crafted with careful thought, ensuring an event management system
that’s lean, powerful, and incredibly flexible. Whether it’s a page, post, or CPT,
any post on your site can be turned into an event and featured on your calendar 
in a matter of minutes.

### Watch our 4-minute Quick Start Guide:

### Create Events in Record Time

Work directly in the WordPress Editor with existing posts and interfaces you’re 
already familiar with.

There’s no external editor or custom interface to learn. In a matter of minutes,
you can turn any post into an event on your calendar.

 1. Install the plugin.
 2. Edit any page or post and in the sidebar (Gutenberg) or below your post content(
    Classic Editor / non-Gutenberg), enable the “Show on Calendar” toggle.
 3. Set a start date and time, optionally set an end date, and optionally enable the“
    all day” event if you’d like.
 4. Add the [piecal] shortcode anywhere you want your calendar to appear.

### Features

 1. **Turn Any Post Into an Event:** Within minutes, convert any post on your site 
    into an event that appears on your front-end calendar.
 2. **Works With Any Post Type or CPT:** Use default WordPress posts or pages, or create
    your own CPT. Pie Calendar offers you total flexibility.
 3. **Single, Multi-day, All Day Events:** Set your events for a single day, span them
    across multiple days, or enable all-day events.
 4. **Multiple Views**: Pick from regular monthly calendar view, week views, list views,
    or even a single day view.
 5. **Custom Field Support**: Already have your own custom fields for Date and Time
    via Advanced Custom Fields or Meta Box? No problem! Pie Calendar can use custom
    fields for event date and time.
 6. **Recurring Events (Pro):** With flexible recurrence options, you can set your 
    events to repeat as needed – every few days, weeks, or on a specific day every 
    month.
 7. **Color-Coded Events (Pro):** Give your events a unique color to make them stand
    out on the front-end or for enhanced organization.
 8. **WooCommerce & EDD Support (Pro):** Transform any WooCommerce product or EDD Download
    into an event to create custom booking and event ticketing systems.

#### More Info

Once you’ve installed the plugin, go to any post or page and enable the “Show on
Calendar” toggle.
 Then, configure the options to your liking. Set a start date 
and time, optionally set an end date, and configure the all day event if you’d like.

You can do this to as many or as few posts as you’d like. Any post type will be 
supported, so long as your custom post types have **supports: editor** and **supports:
custom fields** turned on. For clarity on this, watch the video embedded above.

Then, add the [piecal] shortcode anywhere you want your calendar to appear.

The shortcode accepts a few different parameters:

 * **type=”your-post-type”**
    Accepts a single value of any post type name to limit
   your calendar to only show that post type.
 * **view=”dayGridMonth”** is the default view you want selected when the calendar
   loads.
    The possible views are ‘dayGridMonth’, ‘listMonth’, ‘timeGridWeek’, ‘
   listWeek’, ‘dayGridWeek’.
 * **locale=”es”** – accepts any two letter ISO 639-1 language code

The shortcode defaults to show all post types, dayGridMonth, and locale of en.

## Screenshots

 * [[
 * default
 * [[
 * [[

## Blocks

This plugin provides 2 blocks.

 *   Pie Calendar Event Info Pie Calendar information block for use on posts designated
   as events. This block will display the event-specific information.
 *   Pie Calendar Show a calendar of Pie Calendar events.

## FAQ

### Will this work with my theme?

Yes, this plugin should work with almost any theme. We have tested it with the top
10+ themes in the WP theme repo and they all work with Pie Calendar.
 Builders such
as Bricks and Oxygen work with Pie Calendar, although the shortcode doesn’t render
inside the builder itself.

### Does it work with Custom Post Types?

Yes, they just need to have supports: editor and supports: custom-fields enabled.

### What are the view options available with Pie Calendar?

Your visitors can pick from a dropdown of views on the frontend including dayGridMonth,
listMonth, timeGridWeek, listWeek, or dayGridWeek.

You can also use a shortcode parameter to choose what the default is upon page load.

### Can I show only one post type on the front-end?

Yes! If you’ve turned multiple different types of posts into events and you only
want to show one on a specific calendar, you can use the shortcode parameter: [piecal
type=”events”].

Simply replace “events” with the appropriate name of your post type.

### Does it work with RTL languages?

Yes, the calendar plugin pickups if your WordPress language is RTL via the is_rtl()
function and will adapt accordingly. Consider also using the “locale” parameter 
in your [piecal] shortcode.

### I have another question

Feel free to read our documentation for more detailed info: [docs.piecalendar.com](https://docs.piecalendar.com/)
or open a support thread here on our plugin page.

## Reviews

![](https://secure.gravatar.com/avatar/0dad7c64c69e444ab2fc0a90c498d8e46916dcac581456638c28636acda7909d?
s=60&d=retro&r=g)

### 󠀁[Rare to find plugins this good](https://wordpress.org/support/topic/rare-to-find-plugins-this-good/)󠁿

 [shandonc](https://profiles.wordpress.org/shandonc/) 24 Am Faoilleach 2026

I’m giving Pie Calendar a shot after getting frustrated with the bloat, load times,
and overall price increases from the extremely popular events plugin I’ve been using
for the last few years. All I have to say is “WOW”! Pie Calendar’s goals of keeping
things clean and simple are being met perfectly. Load times are awesome and the 
fact that it integrates with any post type makes it completely customizable. There
are certainly some missing functions that I would love to see added in the future(
event export, syncing, bulk updates), although most of that can be solved with other
plugins. My only complaint is that the price for the additional features (Pro & 
Connector) is steep. A Pro lifetime license is currently $300 and the Connector 
add-on is $200. Annual subscriptions to both are only half that. I’d like to see
those prices cut in about half before I jump on them. That said, the people at Pie
Calendar have done a fantastic job of making the free version functional. So many
plugins have a free version that is barely usable due to paywalling key features
and littering the UI with upsells. Pie Calendar has kept the UI clean and made the
basic functionality really solid without annoying upsell ads. I hope it stays that
way for a long time. Even with the steep Pro price, I’d highly recommend the plugin
for its great free version, lightweight code, customizability, and ease of use. 
It’s rare to find plugins this perfect.

![](https://secure.gravatar.com/avatar/4bf1c14e4af533898375950c4cc14ea9dcc2d84f225c8ca88e128ce28af9b86f?
s=60&d=retro&r=g)

### 󠀁[Excellent plug in](https://wordpress.org/support/topic/excellent-plug-in-406/)󠁿

 [skoyntoyflis](https://profiles.wordpress.org/skoyntoyflis/) 4 An Dùbhlachd 2024

Just perfect.

![](https://secure.gravatar.com/avatar/027e341d65b020e96f6422b92230f11c8080f013f8fd7bbde54ffb5603348b11?
s=60&d=retro&r=g)

### 󠀁[Great potential, but widget contains bug](https://wordpress.org/support/topic/great-potential-but-widget-contains-bug/)󠁿

 [katuschka](https://profiles.wordpress.org/katuschka/) 7 An t-Samhain 2024 3 replies

This calendar plugin is easy to use and has great potential, but the widget form
contains a huge bug: when a date is pressed on this widget, the events on that date
are displayed, but with a different (incorrect) date above it! This makes the widget
unusable. I have reported this bug, but never received an answer, nor was it resolved.
Also, it would be great if you could display an event list with this plugin.

![](https://secure.gravatar.com/avatar/49cb8ae78b9224d5fe721a8751ec6da1fe32ec6ed5dcfbed0ec1bc9a2743897b?
s=60&d=retro&r=g)

### 󠀁[Very useful](https://wordpress.org/support/topic/very-useful-3516/)󠁿

 [Žygimantas](https://profiles.wordpress.org/meras/) 11 An Lùnastal 2024 1 reply

Pie Calendar is an excellent choice for those who appreciate clean code and fast
loading times. No styling nonsense or complicated setups—just plug it in, and it
works right away. Simple, efficient, and hassle-free. The perfect solution when 
you need functionality without the extra fuss!

![](https://secure.gravatar.com/avatar/665d92209aaed33a26821767773ee5d9e42c8bce524a7a08c3e9f2baf4550660?
s=60&d=retro&r=g)

### 󠀁[Excellent!](https://wordpress.org/support/topic/excellent-13492/)󠁿

 [downchirp](https://profiles.wordpress.org/downchirp/) 10 An t-Iuchar 2024 1 reply

What a great plugin & team. Simple to use, fairly priced, does what’s needed & also
provides customization options. On top of this Jonathan went above & beyond by helping
me fix some of my code to enable even more customization – which he didn’t have 
to do. Outstanding!

![](https://secure.gravatar.com/avatar/44e5eef603878707163925b2e3591a7663f2974f912cc1cf06b0292adea604c1?
s=60&d=retro&r=g)

### 󠀁[Great plugin and superb support](https://wordpress.org/support/topic/great-plugin-and-superb-support-33/)󠁿

 [sitestreet](https://profiles.wordpress.org/sitestreet/) 20 An t-Ògmhios 2024 1
reply

Wanted a calendar plugin to add date functionality but keep everything else simple(
so avoided the huge, over complicated event plugins) so this was perfect. Hit an
issue so contacted support. Got a reply from Jonathan within minutes (and it was
a Saturday!) and then got the answers I needed along with a video showing exactly
what he did and it now does what I needed perfectly. Worth every penny for the pro
version.

 [ Read all 24 reviews ](https://wordpress.org/support/plugin/pie-calendar/reviews/)

## Contributors & Developers

“Pie Calendar – Events Calendar Made Simple” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ Jonathan Jernigan ](https://profiles.wordpress.org/apexws/)
 *   [ Spellhammer ](https://profiles.wordpress.org/spellhammer/)

“Pie Calendar – Events Calendar Made Simple” has been translated into 5 locales.
Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/pie-calendar/contributors)
for their contributions.

[Translate “Pie Calendar – Events Calendar Made Simple” into your language.](https://translate.wordpress.org/projects/wp-plugins/pie-calendar)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/pie-calendar/), check
out the [SVN repository](https://plugins.svn.wordpress.org/pie-calendar/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/pie-calendar/) by
[RSS](https://plugins.trac.wordpress.org/log/pie-calendar/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3.0.5

 * i18n: Made Pie Calendar Info block controls translatable via Loco Translate or
   other methods.
 * Tweak: Added white-space handling for popover details to handle \n in descriptions.
 * Fix: Corrected error caused by switching to Week – Time Grid or Week – Day Grid
   while hidePastEvents=”true” attribute is in use.

#### 1.3.0.4

 * Tweak: Addressed some more minor issues in the code to better comply with .org
   requirements.

#### 1.3.0.3

 * Tweak: Addressed a few minor issues turned up during a security review.
 * Tweak: Changed readme to comply with .org requirements.

#### 1.3.0.2

 * Tweak: Added hooks for additional event source support.

#### 1.3.0.1

 * Fix: Use multibyte safe function for limiting excerpt length to avoid breakages
   when multibyte characters are present.

#### 1.3.0

 * New: Added more robust method for allowing HTML in popover details. See docs 
   for more info.
 * Tweak: End date picker now defaults to same day as start date if defined.
 * Security: Fixed XSS vulnerability in output of $wrapperViewAttribute,
 * Tweak: Swapped to date_i18n() for date output in piecal-info.

#### 1.2.9

 * New: Custom views API. See our documentation for more information.
 * New: List – Upcoming view with duration attribute, useful for sites that have
   fewer events spread out over multiple months to prevent showing an empty calendar.
 * Security: Fixed Authenticated (Contributor+) Stored-XSS vulnerability related
   to theme attribute reported to us on August 21st.
 * Fix: Renamed alpine dependency to indicate it’s minified. This may resolve issues
   with some optimization plugins.
 * Tweak: Adjusted view chooser dropdown styles.

#### 1.2.8

 * i18n: Calendar controls in Gutenberg sidebar are now translatable via tools like
   Loco Translate
 * Tweak: Added new filter to hide Pie Calendar controls: add_filter( ‘piecal_hide_controls’,‘
   __return_true’, 10, 1 );
 * Tweak: Adjusted width of classic metabox input for better appearance on narrow
   screens
 * Fix: piecalGbVars not defined error when using blocks in a block theme template

#### 1.2.7

 * New: Added calendar blocks for the Block Editor
 * Fix: Metabox logic has been improved to accommodate post types that are available
   in REST but use classic editor
 * Fix: Datetime pickers should now adapt to the 12/24 hour time format used by 
   the site

#### 1.2.6

 * Security Fix: Prevented execution of JavaScript in the locale attribute of the[
   piecal] shortcode.

#### 1.2.5

 * Fix: Corrected issue causing sticky posts to show up on calendar even when not
   designated as events.
 * Fix: Fixed incorrect date in single day view when using widget mode.
 * Fix: Increased z-index of popover.
 * Tweak: Refactored logic responsible for displaying classic Pie Calendar metaboxes.
 * Tweak: Refactored the way scripts and styles are loaded to prevent undefined 
   variable errors on some sites.

#### 1.2.4

 * Fix: Corrected issue that caused events on sites with UTC+0 timezone to not show
   up on calendar sometimes.
 * Fix: Cleaned up and improved piecal-info display logic.
 * Fix: Corrected issue where events were showing at 12:00 when using ACF start/
   end fields
 * Tweak: Added more calendar JS hooks.
 * Tweak: Added super-minimal onboarding admin notice wth some basic instructions.
 * Tweak: Added translation functions for classic metabox strings.

#### 1.2.3

 * New: Add custom field data and images to popover.
 * Tweak: Added piecal_popover_details filter.
 * Tweak: Added piecal_popover_before_title hook.
 * Tweak: Added piecal_popover_after_title hook.
 * Tweak: Added piecal_popover_before_meta hook.
 * Tweak: Added piecal_popover_before_details hook.
 * Tweak: Added piecal_popover_after_details hook.
 * Tweak: Added piecal_popover_before_view_link hook.
 * Tweak: All day event start times are now forced to 12:00 PM to avoid timezone
   bleed.
 * Fix: Corrected a bug that caused day names to be duplicated sometimes.
 * Fix: Added versions to our CSS on the front-end to prevent issues with caching&
   future updates.

#### 1.2.2

 * A11y: Fixed an issue causing double date announcement when switching views (#
   266)
 * A11y: Improved the announcement of changes when the calendar view changes (#248)
 * A11y: AM/PM are no longer shortened to A/P (#251)
 * A11y: Fixed missing role on view title/date range text at top of calendar (#317)
 * A11y: Improved default all-day event color contrast (#317)
 * A11y: Clickable event elements now announce clickability on non-Grid views (#
   263)
 * A11y: Added labels and removed toggle logic from next/prev buttons for better
   accessibility (#245)
 * A11y: Improved announcement of all day, multi-day events to indicate date range(#
   250)
 * A11y: Made sure abbreviated day names are announced with full names (#249)
 * I18n: Added special day name mapping for shortening day names in Hebrew and Arabic(#
   249)
 * Tweak: Implemented a piecal_popover_link_url filter for altering the view event
   link URL in the popover (#318)
 * Fix: Corrected bug causing widget mode event indicator to display as a flat line
   on Safari (#284)
 * Fix: Corrected issue that caused all day, multi-day events to span the wrong 
   number of days in some timezones (#319)

#### 1.2.1

 * A11y: Removed # from aria-labelledby attribute on td elements (#286)
 * Fix: Corrected issue that caused some events not to be output if the timezone
   was set to UTC (#282)
 * Fix: view=”listDay” now works as expected in the shortcode attributes (#300)
 * Fix: Corrected some code dealing with the calendar footer output (#297)
 * Fix: Added $atts argument to piecal_calendar_object_properties filter (#291)
 * Fix: Corrected circle indicator style in widget mode when suing theme=”dark” 
   or adaptive dark mode (#273)

#### 1.2.0

 * New: Added new “widget” parameter for [piecal] shortcode, usage examples: [piecal
   widget=true] or [piecal widget=responsive]. Widget mode is an improved layout
   for the calendar grid on small devices or sidebars. Learn more at docs.piecalendar.
   com
 * Fix: Corrected issue that caused json_decode() to fail in some environments, 
   impacting recurring event display
 * Fix: piecal-info now works with custom field filters (e.g. using ACF fields as
   start/end dates for your events)
 * Tweak: Added the piecal_calendar_object_properties filter to allow the addition
   of multiple calendar properties
 * A11y: Event links now announce that they’re clickable (via role=”button”)
 * A11y: Added role=”dialog” to the calendar popover to ensure focus gets trapped
   for screen readers
 * Tweak: Added .piecal-popover__view-link class to the “view” link wrapper in the
   popover
 * Fix: Corrected issue that caused multi-day all-day events to span the wrong number
   of days
 * Tweak: Events with no explicit end date now get an end date 1 hour from their
   start date by default. You can disable this with the automaticEndDates=false 
   shortcode parameter
 * Fix: Standardize start/end dates using format(‘Y-m-d\TH:i:s) before use in the
   calendar
 * Tweak: [piecal-info] now outputs with .piecal-info class on the wrapper div, 
   to make it easier to target with CSS
 * Fix: Corrected issue that caused invalid time error for all day events that have
   no end time
 * Fix: Corrected errors that occurred in the Block Editor when upgrading from Pie
   Calendar free to pro

#### 1.1.1

 * New: Remove prepend text in [piecal-info] shortcode. More info: https://docs.
   piecalendar.com/article/26-hide-prepend-text-from-piecal-info
 * New: Allow event titles to wrap inside the day cell. Configurable with a shortcode
   parameter: [piecal wraptitles=’true’]
 * New: Added filters to control what post types should show Pie Calendar controls.
   More info: https://docs.piecalendar.com/article/25-show-pie-calendar-meta-box-
   only-on-specific-post-types
 * New: Added a new filter “piecal_after_popover_link” to insert content after the“
   View Post” link in popover
 * Update: Reverted minimum PHP version to 7.4.
 * Fix: Added better logic to detect when certain post types use ’supports: editor’
   but not Gutenberg.
 * Fix: Adjusted utm parameters in Pro link on plugins page

#### 1.1

 * New: It is now possible to use custom meta fields as Pie Calendar’s date and 
   time source. Learn more in our developer docs.
 * Fix: Properly reset post data, which could cause issues with dynamic data element
   rendering properly.
 * Fix: Front-end calendar now properly reflects the date format selected in WordPress
   settings.
 * Fix: Resolved an undefined array key issue related to custom meta fields.

#### 1.0.3

 * New: Numerous new filters and hooks (see documentation for more info).
 * New: It is now possible to alter the date format in the event popover via hooks
   and filters.
 * Update: Bumped minimum PHP requirement to 8.0
 * Update: [piecal-info] shortcode now has better localization support via WordPress
   settings or via locale=”” shortcode attribute
 * Fix: All day events now span the correct number of days on the front end calendar
   view, rather than ending 1 day short.
 * Fix: Strings inside popover are now translatable.
 * Fix: Events query now returns all events, instead of relying on WordPress “posts
   to show at most” setting.
 * Fix: Events can no longer be dragged and dropped on front-end calendar.
 * Fix: Under the hood tweaks for bug fixes and compatibility.

#### 1.0.2

 * Better support for LocoTranslate
 * Better support for adapting to WordPress locale based on chosen language
 * Added additional shortcode attribute for dark mode: [piecal theme=”dark”]
 * Added additional shortcode attribute for auto-dark mode support via prefers-color-
   scheme: [piecal theme=”adaptive”]
 * Added new shortcode to display Pie Calendar times on a single post: [piecal-info]

#### 1.0.1

 * Added RTL support via is_rtl() function
 * Added support for locale in shortcode (sets first day and translate portions 
   of calendar text)
 * Added Classic Editor support
 * Prevent background scroll on popover
 * Fixed scrollbar appearing inside calendar

#### 1.0

 * Initial release

## Meta

 *  Version **1.3.0.5**
 *  Last updated **2 mhìos ago**
 *  Active installations **1,000+**
 *  WordPress version ** 5.9 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [Danish](https://da.wordpress.org/plugins/pie-calendar/), [Dutch](https://nl.wordpress.org/plugins/pie-calendar/),
   [English (US)](https://wordpress.org/plugins/pie-calendar/), [German](https://de.wordpress.org/plugins/pie-calendar/),
   [Portuguese (Brazil)](https://br.wordpress.org/plugins/pie-calendar/), and [Swedish](https://sv.wordpress.org/plugins/pie-calendar/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/pie-calendar)
 * Tags
 * [calendar](https://gd.wordpress.org/plugins/tags/calendar/)[Event](https://gd.wordpress.org/plugins/tags/event/)
   [events](https://gd.wordpress.org/plugins/tags/events/)
 *  [Advanced View](https://gd.wordpress.org/plugins/pie-calendar/advanced/)

## Ratings

 4.7 out of 5 stars.

 *  [  21 5-star reviews     ](https://wordpress.org/support/plugin/pie-calendar/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/pie-calendar/reviews/?filter=4)
 *  [  2 3-star reviews     ](https://wordpress.org/support/plugin/pie-calendar/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/pie-calendar/reviews/?filter=2)
 *  [  1 1-star review     ](https://wordpress.org/support/plugin/pie-calendar/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/pie-calendar/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/pie-calendar/reviews/)

## Contributors

 *   [ Jonathan Jernigan ](https://profiles.wordpress.org/apexws/)
 *   [ Spellhammer ](https://profiles.wordpress.org/spellhammer/)

## Support

Issues resolved in last two months:

     2 out of 3

 [View support forum](https://wordpress.org/support/plugin/pie-calendar/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://piecalendar.com)