Pie Calendar


The Most Flexible Calendar Plugin For WordPress.

Pie Calendar allows you to turn any post on your WordPress site into an event and have it automatically appear on a front-end calendar. Choose which posts are events, paste your shortcode, and you’re done.

This plugin gives you the ability to plot any post on a calendar and it’s extremely simple to use, is super flexible, and sets up in minutes. Any post on your entire site can be turned into a event and appear on the calendar, whether it’s a page, post, or CPT.

Get more features with Pie Calendar Pro: piecalendar.com


Quick Instructions

  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.

Note: All day events hide the front-end time display.

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.


Will this work with my theme?

Yes, this plugin should work with almost any theme.

Does it work with Custom Post Types?

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

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.


Méi 25, 2023 1 reply
What a fantastic little plugin! I created a CPT called "Events" and needed just something like this to display events in a calendar and list view on the front end. I like how minimal it is too, allowing me to style what I need with CSS. I've added this to my site: justmytools.com as part of my stack of choice plugins!
Méi 1, 2023
This plugin works right out of the box and the fact that it can be tied to any custom post type is amazing. I can't wait to see what features the Pro version brings with it!
April 12, 2023 1 reply
Nice option to display some dates without the overhead of maintaining a calendar.
Maret 3, 2023 3 replies
Hi, really good plugin. I like it. Just a one thing that maybe you can fix in next update. The plugin can't be translated by Loco Translate so you can't translate words in front end like 'starts' or 'ends' for example. If you can fix this the plugin will be perfect. Thanks for your job. Regards.
Maret 2, 2023 1 reply
This brand new plugin JUST WORKS PERFECT! SO easy to use and made with clean code. AND so important: SO EASY to adapt THE LANGUAGE to your local with just adding a word in the shortcode. Finally someone has came up with a solution with the need of showing calendar on syour site of ANY CPT. A plugin with NO extra options that you will never need and slows down your website. I Recomend it to everybody! pleasy try. The developers are GREAT PROFESSIONALS as well, so that gives me trust on thats this is solid, and it's gonna be even more as time goes. Looking forward the pro-version. Just to let you know, I am using Bricks builder, metabox, no problems. Just install and GO!
Maret 2, 2023 2 replies
I tested this for about 10 minutes. It's near perfect, the little imperfection that I will mention below is not worth downgrading this plugin from 5 stars, as it is very easy to fix with some simple CSS. The issue is the color scheme in the calendar as far as the 3 buttons on the top right, the "today" button and the arrow buttons to progress forwards or backwards. The today button is dark with white font color, but on a hover the font also becomes dark, making the text to not show as it's color blends with the background. The two arrows never show up as their color seems to be the same as their button's background color. My guess is that you are depending on the theme's color scheme for the font color back imposing the background colors (I did not check the actual cause yet, just a guess). Nevertheless, I will go ahead and fix the issue with some simple css rules, but not everybody can do this... Very easy to use, the fact that it can display the excerpt in the popup is awesome, and I can easily use this with my custom ACF Pro projects. Thanks, Nick.
Read all 5 reviews

Contributors & Developers

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


“Pie Calendar” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Pie Calendar” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Better support for string translation
  • 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]


  • 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


  • Initial release