Description
GravityCalendar displays Gravity Forms entries in a calendar view, transforming submissions with a date field into clickable events in monthly, weekly, and daily views. The extension integrates directly with GravityView to render schedules, booking calendars, and appointment timelines from data already collected by the forms, without requiring a separate event plugin or external synchronization with services such as Google Calendar.
Key Features
- Multiple calendar views
Renders entries in monthly, weekly, daily, and agenda list modes. - Date field mapping
Links any Gravity Forms date or date/time field as the event source. - Colors and categories by entry
Allows colors and labels to be assigned based on form field values. - Details modal on click
Opens the full submission data in a popup or redirects to the GravityView page. - Integrated filters and search
Applies GravityView filters to the calendar to limit which entries appear.
Benefits of GravityCalendar – Display Entries on a Calendar
- Leverages existing data
Reuses Gravity Forms submissions without migrating to another event plugin. - Clear view for visitors
Replaces long tables and lists with an easy-to-read monthly panel on the front end. - Configuration within GravityView
Reduces the learning curve by keeping all options in the same View editor. - Versatile use
Covers reservations, appointments, deadlines, and events from a single form.
Who Is It For?
- Sites that collect reservations, appointments, or registrations via Gravity Forms and need to display the records publicly.
- Schools, churches, associations, and clubs that maintain internal event calendars based on forms.
- Teams that already use GravityView to list submissions and want to add a visual calendar layer.
Designed for those who have already structured workflows in Gravity Forms and use GravityView to present the data, this add-on expands the range of available layouts without duplicating records in another event system. The result is a front-end calendar powered in real time by the submissions themselves, keeping control of filters, permissions, and display within the same administrative dashboard.
Frequently asked questions
Is GravityCalendar – Display Entries on a Calendar GPL-licensed?
Yes. GravityCalendar – Display Entries on a Calendar is distributed under the GPL (GNU General Public License). You may legally use, modify and redistribute it on as many sites as you want.
Can I use GravityCalendar – Display Entries on a Calendar on multiple sites?
Yes. You can use GravityCalendar – Display Entries on a Calendar on multiple sites. The number of sites connected to Ultrapack Auto Updater is limited by your plan.
How much does GravityCalendar – Display Entries on a Calendar cost at Ultrapack?
GravityCalendar – Display Entries on a Calendar costs US$2.99 as a single purchase, and it is also included in the subscription plans starting at US$12/mo (VIP I).
Does GravityCalendar – Display Entries on a Calendar include updates?
Yes. The current version of GravityCalendar – Display Entries on a Calendar is 2.23.0, published at Ultrapack on Sep 24, 2026. Subscribers update straight from the WordPress dashboard with UAU (Ultrapack Auto Updater).
Is GravityCalendar – Display Entries on a Calendar scanned before publication?
Yes. Every version of GravityCalendar – Display Entries on a Calendar goes through a malware scan (ClamAV and YARA rules, at UltraHub) before it is published.
What are the requirements for the plugin GravityCalendar – Display Entries on a Calendar?
Requires WordPress 5.6 or higher and PHP 7.4 or higher. Tested up to WordPress 7.1.
What changed in this version
Version 2.23.0
- This release makes conditional logic more accessible and fixes matching on product prices.
- Note: GravityCalendar now requires WordPress 6.5 or newer.
- ✨ Improved
- Keyboard and screen reader accessibility of conditional logic: focus stays in place when adding or removing a condition, the AND/OR switch is a single control, and date fields and buttons identify the field they belong to.
- Wider Custom Value box in narrow settings panels.
- Conditional logic on product prices matched the wrong entries, especially with currencies that use a comma for decimals or place the symbol first (such as Pound Sterling).
- The page scrolled when a date picker calendar was opened or closed.
- 🔧 Updated
- [Foundation]
Version 2.22.0
- This release adds a GravityCalendar widget for Elementor, allows overriding calendar height when embedding, and fixes some bugs. GravityCalendar now requires WordPress 5.6 or newer.
- A GravityCalendar widget for Elementor. Drag it onto the page, pick a calendar, and it renders in the editor as it will on the page — no shortcode to paste. The widget is under the GravityKit category in the widget panel.
- Ability to override the calendar's defined height when embedding a calendar
- Shortcode: `[gravitycalendar id="5" height="400px"]`. Accepts the same values as the Calendar Height setting — `400px`, `100%`, `10vh` — plus `auto`
- GravityCalendar block: a Height field under Calendar Size in the block settings
- Elementor widget: a Height slider on the Style tab.
- ✨ Improved
- Added support for the Block Editor's version 3 block API.
- Calendars whose feed was created outside the settings screen — through the API, or before the Sizing setting existed — logged a PHP warning every time they rendered.
- Only administrators could open a form's GravityCalendar feed settings. Now, anyone who can edit forms can edit the feed.
- Administrators on sites running the Members plugin could not see the feed settings.
- Merge tag pickers were not showing in the calendar feed settings screen.
- The Active/Inactive toggle on the All Calendars screen displayed as a plain, unstyled button.
- Calendar toolbar buttons showed HTML character codes instead of punctuation in some languages — in French, the "Today" button read "Aujourd'hui" rather than "Aujourd'hui".
- The calendar's Filter control did nothing on calendars whose Localization is set to a language other than English.
- GravityCalendar block preview in the WordPress editor
- Did not recover when a feed was selected again after its settings had failed to load
- In the WordPress 7.1 editor
- Showed "This block has encountered an error and cannot be previewed" instead of the calendar
- Did not switch the active Stack/Grid button of the multi-month layout
- Kept the Filter button instead of replacing it with the search box, so events could not be filtered
- Opened event tooltips away from their event when the `interactive` option is turned off.
- Showed JavaScript errors in the browser console
- Clicking the export link in the GravityCalendar Buttons block preview downloaded the calendar file.
- 🔧 Updated
- [Foundation]
Version 2.21.0
- This release speeds up calendar subscriptions, keeps them up to date when entries change, and fixes several subscription and timezone issues.
- ✨ Improved
- Completely reworked how calendar subscriptions are generated to improve performance.
- Large calendar feeds now generate without a sweat (tested on forms with more than 20,000 entries)
- Now served from a stored copy that refreshes hourly and when you save the feed.
- Downloading a single event, or attaching one to a form notification, is much faster.
- Conditional logic date filters have a clear button and an improved date picker, and Dynamic Lookup filters use the Lookup plugin's own API when available (Gravity Forms Lookup Field 1.8 or newer).
- Events using "Entry Date (Created)" or "Entry Date (Updated)" were displayed in UTC instead of the site's timezone.
- Entry changes did not reach calendar subscriptions until the stored copy expired. Now, new, edited, and deleted entries update subscriptions immediately.
- Improves support for changes made through GravityView, GravityEdit, GravityRevisions, and GravityImport.
- Deleted, disabled, or regenerated feeds returned a server error instead of reporting that the feed no longer exists.
- Subscription links kept the site's previous domain after a move. Saving the feed now updates the link without breaking existing subscriptions.
- A subscription too large for the server's time limit now properly reports a server error.
- Pressing Enter while editing feed settings regenerated the subscription URL and broke existing subscriptions. The URL now changes only when you click "Regenerate URL".
- 💻 Developer Updates
- Added filters for the stored calendar: `gk/gravitycalendar/ics-export/cache/enabled` (turn it off site-wide or per feed), `gk/gravitycalendar/ics-export/cache/lifetime` (default: one hour), and `gk/gravitycalendar/ics-export/cache/rebuild-timeout` (default: ten minutes).
- 🔧 Updated
- [Foundation]
Version 2.20.0
- This release adds support for appending `.ics` to calendar subscription links and fixes subscribed calendars duplicating events on every refresh.
- Support for appending `.ics` to the generated calendar subscription link, for calendar applications that only accept URLs ending in `.ics` (existing links continue to work without the suffix).
- Events in a calendar subscription received a new identifier on every refresh, causing subscribed calendars to re-add all events on each sync instead of updating the ones they already have.
- 🔧 Updated
- [Foundation]
Version 2.19.0
- This release removes an unnecessary database query from every calendar load and makes the event limit work correctly on calendars that read their events from the database.
- ✨ Improved
- Removed an unnecessary database query that ran, and returned no results, every time a calendar's events were loaded.
- Setting the event limit to a negative value now means "no limit", as it does elsewhere in WordPress, instead of dropping the last event.
- The warning logged when the event limit is reached now appears only when entries were actually left out, not when the number of events merely equals the limit.
- 💻 Developer Updates
- The `gravityview/calendar/settings/total-event-limit` filter now applies to events read from the database, where it previously had no effect. The limit defaults to unlimited for database entries, so calendars without a filter callback display exactly as before — but a callback returning a positive number now takes effect on those calendars. Events supplied through the `gravityview/calendar/events/source_data` filter still default to 1000. The limit counts only events the calendar displays, so it is never spent on entries that other filters remove.
- 🔧 Updated
- [Foundation]
Release notes published by the developer.
How to install
Automatic updates: this item is updated by the Ultrapack Auto Updater. With it installed, the new version shows up in your dashboard like any other WordPress update (how to set it up).
- Download the file
gravityview-calendar.zip. - In the WordPress dashboard, go to Plugins > Add New > Upload Plugin.
- Select the file
gravityview-calendar.zipand click Install Now. - Click Activate.
Requirements: Requires WordPress 5.6 or higher and PHP 7.4 or higher. Tested up to WordPress 7.1.
Stuck on a step? Open a ticket telling us which one you stopped at.

UAU Ready