Calendar Builder

The free version of ICS Calendar requires you to create a shortcode with all of your configuration options typed in. Calendar Builder lets you configure one or more customized calendar displays with a user-friendly interface and generates a simple ID-based shortcode that you can drop in anywhere you would use the full ICS Calendar shortcode. Any changes you make to a saved calendar will automatically take effect on any pages where you’ve used that calendar’s shortcode.

In WordPress admin, go to ICS Calendar > Add New to create a new calendar, or ICS Calendar > All ICS Calendars to edit your saved calendars.

At the top of the Add New ICS Calendar screen, give your calendar a title. Note: This title will not be displayed anywhere on the site; it is simply a way for you to identify the different calendars you have created within WordPress admin.

The Shortcode field is not editable; it is a convenient way for you to copy this calendar’s ID-based shortcode to your clipboard to paste into your content where desired.

Below this is a set of tabs where you can manage the configuration details for your calendar. Note that most inputs have a blue question mark icon. Hover over any of these icons for contextual help.

General Settings

Paste the URL of your calendar feed into the Enter feed URL… box. You can obtain the URL of your feed from your calendar software. If you intend to combine multiple feeds into one calendar display, click the blue Add Another Feed button for each feed, and paste one URL into each row.

Don’t have your ICS feed URL? Find out where to get it for Google Calendar, Microsoft Outlook, or (Mac/iOS).

If you’re displaying multiple calendars, you can differentiate them for your users by assigning a unique Color and Label to each calendar.

There are seven View options for displaying your calendar. The Month, List and Week views are part of the free ICS Calendar plugin; the four additional views are available only with ICS Calendar Pro. To the right of the View options will be additional options that vary depending on the view you have selected.

By default, your calendar will display the Title and Description (if available) pulled directly from the ICS feed. If you wish to override these, check the Customize Title and Description box, and fields will appear for you to enter your own title and description. Type none into these boxes to hide the title or description entirely.

Additional configuration options are available for managing the display of descriptions, attachments, locations and organizers for each individual event in the feed.

Dates & Times

The Dates & Times tab lets you customize date and time display formats and the date ranges to be displayed in the calendar.

The Date Format and Month/Year Format fields accept a standard PHP date format string. Leave blank for default display.

The Limit Days field sets how many days into the future should be displayed. Lowering this value can improve performance on some servers. The Start On field lets you determine whether the display begins on the current date, a fixed date, or a rolling past date (e.g. 7 days ago). Note that with this value set to “Current date” many views will actually start on the first date of the current period of the calendar, e.g. Month view will begin on the 1st of the current month.

By default, event start times are always displayed, and event end times are hidden, but will display when the user hovers over an event. You can use Hide Times and Show End Times to modify this default behavior.

Advanced Options

The Advanced Options tab houses a set of less frequently used settings. Each should be fairly self-explanatory, although some also have help icons to provide additional guidance on their use.


The Troubleshooting tab allows you to turn on advanced debugging tools to assist you in diagnosing any problems you may be having with the calendar display. Note that under most circumstances you should not leave Reload turned on permanently, as this will force the site to download and process the ICS feed from the source server on every page load, which can result in a slow site and possible errors if your source server has access limits.

Debug Mode turns on a debugging panel that dumps calendar/configuration data for diagnostic purposes. This panel will load on each page that displays the calendar, but can only be seen by logged-in users with the Administrator role.

Manual Calendar Setup

In addition to the Calendar Builder, ICS Calendar Pro provides complete support for the standard manual shortcode-based approach to creating calendars from the free ICS Calendar plugin, with additional support for the extra views (layouts) and options included in the Pro version.

[ics_calendar url="" title="My Calendar" description="none"]

You can even mix-and-match individual shortcode settings with a saved calendar ID, allowing you to override specific settings of the saved calendar in individual instances around your site.

[ics_calendar id="1234" description="Customized description."]

A full list of the configuration options is available under the User Guide link in the WordPress admin.

Admin Settings & Tools

ICS Calendar Pro has a few site-wide configuration settings, along with some additional diagnostic tools, available under ICS Calendar > Settings & Tools in the WordPress admin.


The License tab is where you will enter either your one-year or lifetime license to unlock full access to ICS Calendar Pro. You can find your Product Order API Key and Product ID in the confirmation email you received when you purchased your license, or by logging into your account.

What happens if my license expires?

Regular annual licenses will need to be renewed each year. In addition to providing access to ongoing plugin updates, which will include any available bug fixes, security patches, and feature enhancements, a valid license is required to be able to add new saved calendars and the ICS Calendar Pro features in the WordPress Customizer. You can still edit existing saved calendars, or build calendars manually, and your calendars will continue to display.

Lifetime licenses never expire, and will receive all ongoing updates in perpetuity.


The Customize tab provides a link to the WordPress Customizer panel for ICS Calendar Pro.


The Admin tab provides a few site-wide administrative options for the plugin.

ICS Calendar Pro uses WordPress transients (server-side cache data, stored in the WordPress database) to store parsed calendar data for a designated period of time. This dramatically improves page loading times for most site users. However, when the transients expire, the next visitor to load a given page may experience a delay as the calendar is retrieved and parsed. Use Pre-cache Calendars to force the server to retrieve and parse feeds separately.

In most cases this is not needed; however we have seen a few extremely large data sets, usually involving a large number of recurring events, where the load time can be considerable. Note that pre-caching relies on WP-Cron, which itself depends on regular site traffic to function properly. If your site only receives a few visitors per day, you may wish to set up a proper OS-level cron job to execute WP-Cron on a fixed schedule.

By default, ICS Calendar stores parsed calendar data in transients with an expiration of one hour (3600 seconds). Use Transient Expiration to change this. If your calendar rarely changes, you may wish to increase this to as much as 86400 (one day). Conversely, if your calendar is updated frequently throughout the day, you should set this value to 600 (10 minutes).

Although we anticipate changing this in a future update, ICS Calendar Pro version 1.x ships with an embedded, licensed copy of Advanced Custom Fields Pro, which is necessary for managing the interface of the saved calendar and admin settings screens. The plugin checks for an installed copy of ACF Pro on your site, and only loads the embedded copy if none is found. ICS Calendar Pro requires the Pro version of ACF, so if your site has the free ACF plugin installed, ICS Calendar Pro will, by default, deactivate ACF and load its embedded copy of ACF Pro instead. Because ACF Pro includes all features of the free version, this should not result in any issues with your use of ACF features elsewhere in your site. However, if you are reliant upon an older version of ACF, or have made additional customizations of your own, there may be a conflict. Use Bypass ACF Check to force ICS Calendar Pro to never load its embedded copy of ACF Pro, nor to deactivate your existing copy of ACF (free). Please note that if you check this box, ICS Calendar Pro’s saved calendar feature will not function properly. However, you can still use manual ICS Calendar shortcodes, as well as the Customizer features.

URL Tester

If your calendars are not displaying properly (or at all), you can use the URL Tester to see the raw data ICS Calendar Pro is receiving from your calendar source server. This can be especially helpful if the source server is sending back HTTP error codes.

The ICS Calendar Pro features in the Customizer include three panels: Colors, Layout, and Text.

The Colors panel lets you customize text, border and background colors used by the plugin.

The Layout tab presently has one setting: in the Month with Sidebar and Year with Sidebar views, the sidebar displaying events for the selected day is “sticky,” meaning it stays in place as you scroll the main window. Use this setting to adjust how far from the top of the browser window the sidebar “sticks.”

The Text tab lets you customize the font, text scaling, and optionally turn off the default hyphenation of words in the calendar grid.

By default the plugin will use your theme’s own fonts. Options to override include the standard “web safe” fonts, along with a selection of additional choices from Google Fonts.