Add Event – Add Copy

+ Add Copy is located under My Calendar > Add Event > + Add Copy. In the following screenshot we can see the original event and two copies.

My Calendar > Add Event > Date and Time + Add Copy

When clicking the + Add Copy a new copy of the event will automatically be added containing the same Start and End time as in the original event. Make the needed adjustments. Click the bottom + Add Copy to add additional copies of the event.

Above we can see that I have added two copies (duplicates). Using the same time but changing the dates.

Clicking to Cancel an Event Copy will give the option to “Restore” (keeping the event copy) or “Remove” (deleting the copy).

My Calendar > Add Event > Event Copy – Restore or Remove Event Copy.

This is a multi-day event.

Will show multiple events as one event overview on the frontend. If used in relation with Events widget/shortcode or Today’s Events widget/shortcode.

When the rest of the event information has been filled out and you decide to Save Draft or Publish. Here is an example of saving the above original event and the additional two copies. A total of three events are now published.

My Calendar > Add Event (published) > Publishing multiple copies

Here we can choose to View Event (frontend) or Edit Event. Or we might click the Events link seen in the left WordPress menu.

The following documentation shows an example with using + Add Copy and Repetition Pattern.


Add Event – Repetition Pattern

Add Repetition Pattern is located under My Calendar > Add Event > Repetition Pattern.

Add Event screen.

My Calendar > Add Event – Repetition Pattern

Here are some examples of how to use the Repetition Pattern.

Frequency: 1
Period: Daily
Repeat Until: 2021-11-12

My Calendar > Add Event > Repetition Pattern. Period: Daily. Repeat Until 2021-11-12.

The event will be repeated from the initial selected event date of e.g 2021-11-05 and up to 2021-11-12. Resulting in 7 events being seen on the frontend.

My Calendar > Add Event > Repetition Pattern. Period: Daily. Repeat Until 2021-11-12. Frontend.

Changing the Pattern Frequency.

Here is another example. This time I am changing the frequency from 1 to 2.
As the notification says: “Every 2 weeks until 2021-12-04”

My Calendar > Add Event > Repetition Pattern. Period: Weekly. Repeat Until 2021-12-04.

The event is repeated every second week until 4th of December.

My Calendar > Add Event – Frontend shows repeated events.

Edit event screen

After having added a Repetition Pattern in the Add Event screen one can modify the dates in the Edit event screen. Here is an example from earlier when I added a daily event from November 5th until November the 13th. By clicking the View scheduled dates I get an overview of each date the event will be held. I can Delete or Edit en event and even add another date.

My Calendar > Edit Event – Repetition Pattern. View scheduled dates.

This makes it very flexible to use Repetition Pattern in the Add Event screen and then following up in the edit event screen to modify the event dates. One can totally change the repeated dates for the specific event.

Scheduled dates are not seen in the backend as these are linked to one event. The events are only seen in the View scheduled dates in the backend and as regular events in the frontend calendar.

The following documentation shows an example with using + Add Copy and Repetition Pattern.

Categories

Categories is located under My Calendar > Categories.

My Calendar > Categories

Category Editor

Category Name
Add a new category name.

Color
Select a color which will optionally show up in the calendar on the frontend.

Category Icon
Search for an icon. Write two letters or more and see which icons that show up. Here is an example. Click the icon to use it.

My Calendar > Categories – Search for an icon.

Private (logged-in users only)
Click this checkbox if you want to add a category only for logged in users.

Default
The default category is automatically selected when no category is selected for an event.

Holiday
If you have events that stretches over time than clicking Holiday will skip the holidays.

Category List

ID number – The ID number for each category. The ID will for instance be used in a shortcode.
Category Name – The list can be sorted by ID or Name.
Events – shows how many events are using each category.
Private – If Yes, the category is only seen by logged-in users. If No, it will be seen by everyone.
Icon – shows the selected icon (if Hide Category Icons is not checked).
Color – shows the hex color code.

My Calendar > Categories – Category List and Category Settings.

Category Settings

Hide category colors
Hides the color.

Title text color
Will add the color to the title text.

Title background color
will add the color into the event background seen in the calendar.

Hide Category icons
will hide the icon from the Category List as well as on the Calendar on the frontend.

Quick Edit

My Calendar > Categories – Quick Edit

Hovering over a category in the Category List will show quick edit options.

Edit – Editing a category will make it possible to change a name, color, icon if it is Private, Default or Holiday.

Set as Default – Set as Default will make the selected category the default for any event where one has not selected a category.

Delete – Delete category.

To learn more about Category icons see our documentation.

Category icons

Category icons can be found under My Calendar > Categories. Category Editor > Category Icon.

My Calendar: Click the ? to have a popup show a list of icons.

Click the Help link (blue circled ?) to show a list of available icons that can be added to a category.

My Calendar > Categories > ? > Icon List.

Go through the list and note the name of the icon you would like to use. Close the popup.

In the Category Icon field begin to write the name of the icon. E.g. anchor. Select the icon. We will see the full name anchor.svg show in the Category Icon field.

Category Icon drop down.

After having clicked Add Category. If the Category Settings – “Hide Category icons” is not checked then we will see the icons in the Category List.

My Calendar > Categories – Category List and Category Settings.

Icons will be seen on the frontend in the calendar and in the categories below the calendar. E.g anchor icon.

Showing icons in the frontend calendar view.

The icon is also seen in the single event view.

Frontend single event view. Icon seen next to title.

To hide the icon click the checkbox for “Hide Category Icons”. Seen in the Category Settings section.

Design – Scripts

Scripts is located under My Calendar > Design > Scripts.

My Calendar > Design > Scripts

Disabling scripts will break calendar interactions. This feature is intended for advanced users who wish to provide their own custom scripting.

Script Manager

Insert scripts on these pages (comma separated post IDs)
Find the ID for the WordPress page the calendar is on and add it into the field. This will restrict scripts from loading on other pages.

Disable Grid JS

Disable the event popup in the calendar and automatically show the popup containing an event. One can not click the red circle with an x in it to close it.

Disable List JS

Show the List but the dates in the list are not clickable. (The + sign is not seen.)

Disable Mini JS

Mini calendar. Disables popup interactions in the mini calendar view.

Disable AJAX

Navigating the calendar (e.g., previous/next links, selecting a month, etc.), requires a new page load rather than dynamically navigating within the same page.

Design – Style Editor

Style Editor is located under My Calendar > Design > Style Editor.

Style Editor

Select My Calendar Theme.

CSS Style Options

Load CSS only on selected pages.
Disable My Calendar CSS.
Edit a My Calendar stylesheet.

CSS Variables

Change the primary, secondary, and hightlight colors.

My Calendar > Design > Style Editor
My Calendar > Design > Style Editor – CSS Variables

Select My Calendar Theme.

Choose a theme and click the Preview Stylesheet link that will be seen under the drop down. These are the themes that currently can be selected.

dark.css
A theme in dark grays and blacks with light text and dark blue highlighting.

My Calendar > Design > Style Editor – dark.css

inherit.css
These styles provide a minimal degree of styling, allowing most theme defaults to be dominant.

My Calendar > Design > Style Editor – inherit.css

light.css
A light-colored theme almost entirely in whites and light grays with black text.

My Calendar > Design > Style Editor – light.css

my-calendar.css
Default theme for versions 1.5 through 1.8.9. It’s largely in white, light blues and greens, with dark text.

My Calendar > Design > Style Editor – my-calendar.css

refresh.css
Blue and white with gradient effects. Default theme from version 1.9 through 2.2.13.

My Calendar > Design > Style Editor – refresh.css

twentyeighteen.css
An updated version of twentyfifteen.css, it supports any combination and order of navigation elements, unlike previous themes. Default theme with version 3.0.0.

My Calendar > Design > Style Editor – twentyeighteen.css

twentyfifteen.css
Largely grayscale, but supports any combination and order of navigation elements, unlike previous themes. Default theme with version 2.3.24.

My Calendar > Design > Style Editor – twentyfifteen.css

twentyfourteen.css
Largely grayscale, but larger and bolder with more whitespace than other themes. Default theme with version 2.3.

My Calendar > Design > Style Editor – twentyfourteen.css

twentytwenty.css
A more minimal design theme than twentyeighteen.css, but still a full layout. New default them with 3.2.0.

My Calendar > Design > Style Editor – twentytwenty.css

When you upgrade My Calendar, your current stylesheet is retained. You can restore your stylesheet to a default stylesheet at any time, and can always compare your current version of the stylesheet to the version included with the plugin, to see if any changes have been made

Store your styles in a custom directory and protect it from being overwritten when updating the plugin. If the directory exists /wp-content/plugins/my-calendar-custom/styles/ and contains stylesheets, those stylesheets will be added to the list of available styles to work with.

CSS Style Options

Load CSS only on selected pages

If you only want to load the theme CSS on specific WordPress post ID’s. Add the ID’s into the text field. One way to find the Post ID is by right clicking inside the browser and selecting Inspect (Element) and HTML and CSS areas should show up on the bottom. At the top inside the HTML area one will be able to see postid-(and a number). This postid number would then go into the “Apply CSS on these pages” field.

Disable My Calendar CSS

This will disable the default My Calendar Stylesheet so that you can use your own Stylesheet. Add a custom directory to store your various customizations. In /wp-content/plugins/my-calendar-custom/styles.

Example. In the plugins directory I made “my-calendar-custom” folder and inside another folder “styles”. I went to my-calendar plugin, located the styles folder and duplicated twentytwentyone.css stylesheet into my custom styles folder. I gave the stylesheet a new name “custom-calendar.css”.

In the Design > Style Editor section I clicked the checkbox “Disable My Calendar CSS” and at the bottom of the page clicked “Save Changes”. Refreshed the page. Clicked the “Select My Calendar Theme” drop down and noticed my custom calendar visible at the top of the list. (Refresh a couple of times if you have not seen your own custom stylesheet show in the drop down list.)

My Calendar > Design > Style Editor – custom stylesheet

I selected my custom-calendar.css, clicked “Choose Style” button and noticed the following screen.

My Calendar > Design > Style Editor – custom stylesheet selected

CSS variables can be changed, and you can also add new variables to be used in your stylesheet. To view default themes again. Uncheck “Disable My Calendar CSS” checkbox and click “Save Changes”. Then select one of the default themes and click “Choose Style”.

Edit a My Calendar stylesheet.

One can modify any of the theme stylesheets.

In the following example I added the comment /* My test */ to the twentytwenty.css stylesheet. I then clicked the “Save Changes” button. The following notification came up.

My Calendar > Design > Style Editor – compare changes notification

Clicking the text link “Compare Your Stylesheet with latest installed version of My Calendar.” Will show a comparison between the Current (in use) and the Latest (from plugin). Showing the adjustment I made in the Current (in use) column.

My Calendar > Design > Style Editor – Curren and Latest

Clicking the checkbox – “Reset stylesheet to match core version” and then the “Reset Styles” button will revert the stylesheet back to the Latest (from plugin) version.

Clicking “Return to editing” will keep the change that has been made.

CSS Variables

CSS or custom variables were introduced in twentyeighteen.css, and are not present in earlier stylesheets. Only twentyeighteen.css, twentytwenty.css or newer stylesheets contain CSS variables.

Modify the primary, secondary and highlighted colors used throughout the calendar.
One can also add additional CSS variables.

Accessible Color Combinations overview. Shows which colors are accessible with each other and meets the (WCAG) Web Content Accessibility Guidelines.

My Calendar > Design > Style Editor – CSS Variables

An example showing how the CSS Variables are used in the calendar. I am experimenting with the twentytwentyone.css stylesheet.

My Calendar > Design > Style Editor – CSS Variables colorful

Calendar seen on the frontend.

My Calendar > Design > Style Editor – CSS Variables colorful Frontend calendar

CSS Variables are independent of the stylesheet. The colors selected for each variable will affect all the stylesheets where the variable is used.

Here is an example method on how variables are included in the twentytwenty.css stylesheet. Impacting the table header.

/* Calendar table header: Mon, Tue, Wed, Thu, Fri, Sat and Sun. */
.mc-main th {
font-size: 16px;
line-height: 1.5;
text-align: center;
padding: 4px 0;
background: #fff !important;
background: var(--primary-light) !important;
color: #313233 !important;
color: var(--primary-dark) !important;
border-bottom: 1px solid var(--primary-dark);
}

Above the primary light (white) and primary dark (black) colors have been added to the background color, text color and border bottom. A variable can be added in any place and as many times as the specific variable is needed. We can also create additional CSS variables along with selecting the color to be used.

Next: My Calendar > Design > Templates.

Design – Templates

Templates is located under My Calendar > Design > Templates.

My Calendar > Design > Templates

Template Editor

Core Templates

My Calendar > Design > Templates – Core Templates and Custom Templates

The core templates will display event details and appear in five places:

grid
The main grid calendar. The content that appears in the popup window.

list
The list view calendar.

mini
The mini view calendar.

details (single event)
The single event view, or details page.

The core templates are not in use by default.
These are simplified models of what is possible. If you only want to make a minor change to the default template, you can edit the specific template and enable it to put it into use. If you wish to revert to the original output, turn off the template.

You can place a template file in your theme directory and reference it from the My Calendar shortcode. If you have a template file called “template.txt” in your theme directory, it would be referenced as [my_calendar template="template.txt"] in your shortcode.

To enable a core template.
Click the template name. Example: I clicked the grid template name and the grid template code became visible so that I could modify the code. To use the template I would need to click the checkbox “Use this template” (above the code section) and click the Update Template button (below the code section).

My Calendar > Design > Templates – enable grid. Edit Template.

After clicking to “Use this template” and clicking the Update Template button. We will be able to see the grid enabled.

My Calendar > Design > Templates – enabled grid.

Frontend view of the grid popup.
(your before and after grid popup views will likely be different than the examples I show below.)

Before enabling grid view:

My Calendar > Design > Templates – before enabling grid template. Frontend view.

After enabling grid view:

My Calendar > Design > Templates – after enabling grid template. Frontend view.

It clearly shows the difference between disabled and enabled grid view.

Core template code.

Click the code of each core template and see how these are built. It will make it easier to build your own template if you base it on one of the below core templates.

Core Template: grid: used in the details popup in the main calendar view.

<span class="event-time value-title">{time}{endtime before="<span class='time-separator'> - </span><span class='end-time'>" after="</span>"}</span>
{image before="<div class='mc-event-image'>" after="</div>"}
<div class="sub-details">
	{hcard before="<div class='mc-location'>" after="</div>"}
	{excerpt before="<div class='mc-excerpt'>" after="</div>"}
</div>

Core Template: list: used when viewing events in the main calendar list view.

<span class="event-time value-title">{time}{endtime before="<span class='time-separator'> - </span><span class='end-time'>" after="</span>"}</span>
{image before="<div class='mc-event-image'>" after="</div>"}
<div class="sub-details">
	{hcard before="<div class='mc-location'>" after="</div>"}
	{excerpt before="<div class='mc-excerpt'>" after="</div>"}
</div>

Core Template: mini: used in popups for the mini calendar.

<span class="event-time value-title">{time}{endtime before="<span class='time-separator'> - </span><span class='end-time'>" after="</span>"}</span>
{image before="<div class='mc-event-image'>" after="</div>"}
<div class="sub-details">
	{hcard before="<div class='mc-location'>" after="</div>"}
	{excerpt before="<div class='mc-excerpt'>" after="</div>"}
</div>

Core Template: details: used on the single event view.

<span class="event-time value-title" title="{dtstart}">{time}<span class="time-separator"> - </span><span class="end-time value-title" title="{dtend}">{endtime}</span></span>
{image before="<div class='mc-event-image'>" after="</div>"}
<div class="event-data">
	{runtime before="<p class='mc-runtime'>" after="</p>"}
	{categories before="<p class='mc-categories'>" after="</p>"}
</div>
<div class="sub-details">
	{hcard before="<div class='mc-location'>" after="</div>"}
	{description before="<div class='mc-description'>" after="</div>"}
	{map before="<div class='mc-map'>" after="</div>"}
</div>

Custom Templates

Click “Add Custom Template” button to create a blank template. We will see this section:

My Calendar > Design > Templates – Add Custom Template

Add a Template Description and code and click the “Add Template” button.

After saving the custom template we will see it listed with a template key. The template key is used as a reference to this template in almost any template attribute. This is an easier and more flexible way to manage templates used in shortcodes.

Using Custom Templates

Custom template list

After creating a custom template, you can use the template key in place of the template anywhere you would normally add a template. You can use the key in shortcodes or in widgets.

Event Tags and Location Tags

See the Template Tag Index documentation for a list of various Event, Location and other tags used in My Calendar.

Below the list of Event and Location tags seen in the Design > Templates screen. A Template preview will display to show the enabled core templates or custom template.

Here is an example with the enabled the grid view template.

My Calendar > Design > Templates – Template Preview: Grid

Next: My Calendar > Design > Scripts.

Event – Add Copy and Repetition Pattern

I will show how to create an event and two copies of the same event.
Events will be seen on Fridays, Saturdays and Sunday from now until December 31st 2021.

Add Event.
Fill in the information you need.

In Date and Time. I filled in the time for the original event and made two copies.

My Calendar > Add Event > Date and Time + Add Copy

In Repetition Pattern.

Frequency: 1. Period: Weekly. Repeat Until: 2021-12-31.

My Calendar > Add Event > Repetition Pattern.

Filled in anything else that I needed.
Published the events. View Event and went to the My Calendar main calendar.

Here is the frontend December calendar view.

Frontend view of my calendar displaying 3 weekly events.

The last weekend was the 26th of December. If I choose to do so I could add another event on Friday the 31st of December.

See the following links for additional information on + Add Copy and Repetition Pattern.

Event – Add Event

Calendar Add Event is located under My Calendar > Add Event.

When you create a new event in My Calendar, you are creating one primary record in the database, with one start date and time and one set of event details.

My Calendar > Add Event

The Add Event screen is fairly long so that I will be splitting up the sections into smaller parts.

Event title
Event description

Description is the main event content area where you can add text, video, image information about the event.

Event – title and description.

Excerpt

You are able to select to show an excerpt in the event popup or other places. The excerpt is meant to give a short overview of the event.

Event – Excerpt

Categories

Select the General category or create new category/categories for your event by clicking the + Add Categories button.

Event – Categories

Insert the name and click Add Category.

Event – add new category

Defining a Primary Category.

Choosing a primary category sets which icon or category color will be used for an event when multiple categories are assigned.

Event – Primary Category

In the above example, I have added three categories Travel, Spain and Summer. I have to update the event to have these newly created categories show up in the Primary Category drop down.

Event – Selecting Primary Category

I can now select Travel category as the Primary Category for this event. The other categories become secondary.

Date and Time

Start Time and End Time of the event.
Date and End Date (optional) if needed.

Event – Date and Time

Instead of adding a Start and End Time you can click the All day event. Here you can rename the Time label and Hide end time if you choose to do so.

Event – All day event feature

Date and Time + Add Copy

By clicking + Add Copy the add copy screen is seen and one copy of the event is added. Here one can add additional copies of the event, adjusting the date and time as is needed. The result is that all the events are added to an Event Group and connected to each other.

Event – Date and Time + Add Copy.

Click the links for more documentation for + Add Copy or information about Event Groups.

Repetition Pattern

With Repetition Pattern one can create a pattern of how often the single event is repeated. Starting from the first event and ending at the date “Repeat Until” field. I have included a separate documentation page for Repetition Pattern, where you can learn more about getting the most out of this feature.

Event – Repetition Pattern

The featured image is available in the pop-up card and in the single event card. If your theme supports featured images, your theme’s images will take precedence over the My Calendar single event template.

Event – Featured Image

Event Details

Host – The frontend will show an avatar if available and the words: “Hosted by (username)”
More Information – The frontend will show a “More information” link. The text can be changed under Settings > Text.

Event – Event Details

Event Location

Select an event location from the location drop down. (None are seen in the following screenshot, as I have not yet made a location.)

Event – Event Location

For sites with many locations (more than 90), the drop down is replaced with an autocomplete search form.

My Calendar > Add Event > Event Location > Location drop down

Event Location – Add a new location

Click the “+ Add a new location” button to open up the fields to add a new location. The checkbox Copy new location will add the location to the Locations screen.

Event – Event Location Add a new location

Fill in the information you need for your event.

Accessibility

Click the check boxes to select accessible options for your event. These will also be seen on the frontend events screen.

Accessibility features include audio description, ASL interpretation, Deaf-Blind ASL, and many other options.
Event – Accessibility

Registration Settings

Add a link to an URL where users can get tickets for your events. The frontend will by default show a “Buy Tickets” link. Add additional text information related to tickets.

Event – Registration Settings

Check out my plugin My Tickets if you need additional registration or need to sell tickets. It integrates with My Calendar to handle ticket sales.

Next: Events -> My Events -> Click the title of an event to Edit Event.

Event – Edit Event

Calendar Edit Event is located under My Calendar > Events. Click an event to edit. The main difference from Add Event to Edit Event is the following top menu items.

My Calendar > Events (Edit Event)

Delete – Delete the event.

Edit Event Post – My Calendar events are managed independently, via the My Calendar event manager. They use a custom post type to manage custom fields. This option makes it possible for custom field managers such as (e.g. Advanced Custom Fields) to add custom data to My Calendar events.

View – View the single event view for this event.

Events – Return to the event management screen.

Event – Event Groups

Calendar Manage Events is located under My Calendar > Events > Event Groups.

My Calendar > Events (quick edit) > Event Groups

Event Groups will also show all the events. This screen makes it possible to group events together or ungrouping specific events.

Click to see: Grouped Events, Ungrouped Events or All.

Ordering can also be done by ID, Group, Title, Location, Date/Time, Author or Category.

Hovering an event that is grouped will show these quick edit options.

My Calendar > Events > Event – Groups – quick edit

Edit Event
Will show a top menu as the following screenshot.

My Calendar > Events (Edit Event)

Edit Group
Editing a group will make adjustments to all the events in the group.

My Calendar > Events > Event Groups – Edit Event Group

Remove checked events from this group

At the top we can remove events from the group. Which means one can edit an event without it affecting the other events in the same group.

Editable fields for the events in this group match.

The following fields seen are used by all the events in the group. Apply changes to:
Check or uncheck specific events you want to adjust.

Selected dates are a single multi-day event.

Clicking the checkbox will create an association for upcoming events creating a visual on the frontend that these are linked.

Event – My Events

Event Management is located under My Calendar > Events.

List View

My Calendar > Events – My Events – List View

One can choose between showing the events in a Grid View or in a List View.

Adjust the sort order of the list by clicking the heading titles such as ID, Title, Location, Date/Time, Author or Category.

All (all events),
Published (showing published events),
Drafts (showing draft events),
Trashed and one can also choose to for instance archive older events in the Archived screen.

Bulk actions
Click the checkbox in the ID column of each event to edit multiple events at once.
E.g. Publish, Switch to Draft, Trash, Archive or Delete.

Quick Edit
Hover over an event and see the quick edit links. View, Copy, Delete or Trash an event.

My Calendar > Events (edit event) > Quick Edit

The above is seen for a single event. If there are multiple events associated with each other another option will be seen: Edit Group. This will edit the grouped events. This also bring us to Event Groups.

Grid View

My Calendar: Events – My Events – Grid View

Grid View shows a similar layout to how the frontend shows the My Calendar Grid View. You can filter the events by Categories, Location or Accessibility Services.

Next: Events > Event Groups.

Help – Get Support

Get Support is located under My Calendar > Help > Get Support.
Here is an example of what the screen can look like.

My Calendar > Help > Get Support

Sometimes support will ask you to copy the system information to make it easier to figure out where an error might be. As there might be a plugin or theme or other conflict. Looking through the system information gives a quick overview of the environment the My Calendar plugin is used in.

Location – Add New Location

Add New Location is located under My Calendar > Add New Location.

My Calendar: Add new Location

Add your new location and fill in the information you need.
Remember to click the checkbox for Default Location if this is the address you plan on using most of the time.

Name of Location

Add a name of the location.

Location Address

Address where the event will be held.
Initial Zoom – when using a Google map one can set the initial zoom level.
GPS Coordinates – Set the coordinates of the map.

Location Contact Information

Set the
Phone
Secondary Phone
Location URL

Location Accessibility

Click the checkboxes for the location’s accessibility features. This information will also be seen on the frontend single event view.

Locations

Locations is located under My Calendar > Locations.

Add New and Update location permalinks.
Quick Edit Actions.
Edit Location.
Using a shortcode to view a location.

My Calendar > Locations

Adds a new location.
Clicking the Update location permalinks brings us to the Settings > Permalinks screen. Here we can change the slug part of mc-locations to something else.

My Calendar: Setting Permalinks for Events and Locations.

Quick edit actions.

Using the mouse button to hover over the location will bring up the actions area.

My Calendar: Locations quick edit

One can View, Edit, Set as Default or Delete the location.

View
View will show the (map) location on the frontend of your website. Here is an example where I have added the Google Maps API to Settings > Display > Event Display Fields - Single Event to be able to see the map location.

My Calendar > Locations > View (Frontend)

Edit
Will bring up the Edit Location screen to where one can edit the location.

Set as Default
When creating an event, the location field will be preset to the default location. Strongly advised if you have only one location – location is a required part of Google’s structured data for events.

Delete
Will remove the location.

Edit Location

Clicking to edit Minnesota Orchestra location will show the following screen.
NB! I have also added a Google API key to Settings > Display > Event Display Fields > Single Event so that we will see a location map at the bottom of the Edit Location screen.

My Calendar > Locations > Edit Location

Update GPS Coordinates
Adjusting the location and clicking the Update GPS Coordinates checkbox will update the map along with the rest of the location information on Save Changes.

Using a shortcode to view a location

One can use shortcodes to create a list of Locations.
Example: I made a page which I called Locations list. In it I added the shortcode:
[my_calendar_show_locations sort="country"] This will sort the location list by country. Sorting options are: name, city, state, zip, country and region.

Here is a frontend example of the Locations List page.

My Calendar > Page: Locations List > shortcodes > Frontend

There is also the option to add the shortcode that uses the default “name” sorting option: [my_calendar_show_locations] .

There is also template options for the location shortcode. The location template supports these template tags:
{id}, {label}, {street}, {street2}, {city}, {state}, {postcode}, {region}, {url}, {country}, {longitude}, {latitude}, {zoom}, {phone}, {phone2}

Here is an example:
[my_calendar_show_locations template="{label}, {city}"]

Here is a frontend example of the Locations List page using the above template shortcode.
— Image —

Next: My Calendar > Locations >Add New Location

My Calendar Display Options

My Calendar has two primary methods for displaying events: Shortcodes and Widgets.

Shortcodes are small pieces of code intended to be placed in posts or pages. Some examples of using shortcodes are, adding a standard grid-format calendar, a list-formatted calendar, showing the events for the month, the week, or the day. Continue reading below to learn more about shortcodes.

Widgets are a convenient method to add information to sidebars and footer areas. Using widgets one can display a version of the calendar formatted for small spaces (the “mini” calendar), a list of upcoming events, a list of events happening today, or a specific single event. To learn more about widgets read our My Calendar widget documentation.

Shortcodes

Located on the bottom of the default “My Calendar” page is the My Calendar Display Options meta boxes. (Click the top right arrow of the meta boxes to view the options.)

Meta boxes. My Calendar page – Display Options

Main Calendar Shortcode

The default shortcode for displaying My Calendar.

[my_calendar]

The above my calendar code is actually the same as this code:

[my_calendar category="all" ltype="" lvalue="" format="calendar"
above="" below="" time="month" author="all" host="all" id="" tem-
plate="" year="" month="" day="" search=""]

Content Filters

Categories to display.
Location filter type by
All locations, Location Name, City, State, Postal Code, Country or Region.
Location filter values.
Search keyword. – Only events that use the keyword will be visible in the calendar.

Navigation keywords that can be used separated by commas in the “Navigation above calendar” and “Navigation below calendar” fields.

toggle – Switch between list and grid views
timeframe – Toggle between day, week, and month view
jump – Jump to any other month/year
nav – Primary Previous/Next Buttons
calendar – The calendar
key – Categories
print – Link to printable view
feeds – iCal Subscription Links
exports – iCal Subscription Links
locations – Location (dropdown)
categories – Categories (dropdown)
access – Access (dropdown)
search – Search

The attributes will show up in the order they are listed.
To remove the navigation add “none”.
My Calendar will show the defaults if no attributes are added.
Defaults can be configured in the Settings > Output screen.

Author & Host Filters

Limit by Author.
Limit by Host.

Formatting & Timeframe

Format by Default, Grid, List or Mini.
Time Segment by Default, Month, Next Month, Week or Day.
Months to show in list view.

Initial Date Shown

Select the start date of events going forward.
Year by Default or the next 5 years.
Month by Default or a specific month.
Day by Default or from 1 to 31.

Example Customized Shortcode

[my_calendar above="toggle, nav" below="print, key" format="list" time="week"]

The shortcode:
Above calendar: A toggle between list/grid view along with nav previous/next navigation arrows.
Below calendar: a print icon and key categories.
Format: Changed the default grid to list.
Time: The calendar is seen in a week view.

The result which includes two events is seen on the frontend of the site.

Shortcode displayed on frontend

Reset Shortcode button
Go back to the backend and click the “Reset Shortcode” button (to the right of the Shortcode field) and refresh the browser window to see the Shortcode field reset.

Read about the Shortcode Generator.
Next: My Calendar > Shortcodes.

Quick Start Guide – Getting Started

You can also get to this Quick Start Guide in the WordPress backend by going to Help -> Getting Started. It is meant to quickly give you the basics on how to use the My Calendar plugin.

After having activated My Calendar plugin a new default “My Calendar” page will automatically be created. The Calendar Page Location can be changed through the Settings > General screen.

Quick Start Guide – My Calendar > Settings > General – Calendar Page Location.

Go to My Calendar page and notice at the bottom the My Calendar Display Options (click the arrow to open). This is a way to quickly set the default of how your calendar will look on the frontend. Here you can explore various views and what is seen. Go to My Calendar Display Options documentation to learn more about these options.

Meta boxes. My Calendar page – Display Options

Learn about how to Add Events.

Settings – Display

Display Settings is located under My Calendar > Settings > Display.

My Calendar > Settings > Display

Display Settings

Open links as a pop-up
Opens a pop-up card and one can click “Read more” to continue to the single event view.

Open event links in single event view
Bypasses the pop-up card and goes straight to the single event. Improves performance with large numbers of events.

Disable calendar links
This option will disable all event links in the main calendar. Useful for a minimal-information view.

Update calendar layout

Update calendar layout
Define a default layout for calendars. Use the arrow icons to move fields up or down or use drag and drop to rearrange the order these are seen in. Click the eye to hide fields. These settings will be overridden if you customize the field settings in the My Calendar shortcodes.

My Calendar > Display > Calendar Links and Update calendar layout

Default Frontend view containing one event:

My Calendar > Settings > Display. Viewing default calendar layout on frontend. (Theme: Twenty Twenty One.)

Event Display Fields

The series of check boxes gives you the ability to display or hide a variety of different fields directly in the frontend for Single Event, Calendar Popup/List View, and Mini Calendar Popup.

Settings for Single Event, Main View (Popup or List) and Mini Calendar Popup.

Choose fields to show in the various frontend views. Adjusting the templates can override these settings. Unclicking/Unsetting all the values will bring back the default values.

Single Event

My Calendar > Settings > Display – Event Display Fields – Single Event

Default frontend fields for the Single Event.

My Calendar > Settings > Display – Event Display Fields – Single Event. (Theme: Twenty Twenty One.)

Main View (Popup or List)

My Calendar > Settings > Display – Event Display Fields – Main View (Popup or List)

Default frontend view for the Main View: Popup.

My Calendar > Settings > Display – Event Display – Main View – Popup. (Theme: Twenty Twenty One.)

Default frontend view for the Main View: List.

My Calendar > Settings > Display – Event Display Fields – Main View – List (Theme: Twenty Twenty One.)

Mini Calendar Popup

My Calendar > Settings > Display – Event Display Fields – Mini Calendar Popup

Default frontend view for the Mini Calendar Popup.

My Calendar > Settings > Display – Event Display Fields – Mini Calendar Popup. (Theme: Twenty Twenty One.)

Clicking the event the Mini Calendar Popup.

My Calendar > Settings > Display – Event Display Fields – Mini Calendar Popup is open. (Theme: Twenty Twenty One.)

Grid Options

Show Weekends on Calendar: If enabled, Saturday and Sunday (weekend days) will be included in the calendar grid.

Mobile View: Adjusts how the calendar will be rendered on mobile devices. It can switch to list view, switch to mini calendar view, or have no change.

List Options

How many months of events to show at a time: (default) 1. Only impacts the list view; the grid view does not support viewing multiple months.

Show the first event’s title and the number of events that day next to the date. In the list view, the toggle to expand events for a day is normally just the current date. Use this to show more information.
Show all event titles next to the date. Instead of just showing the first event, show all event titles for the date.

Mini Calendar Options

Target link for mini calendar dates – This URL is the destination you want links from the mini calendar to use.

Link action for mini calendar: Event pop-up, daily view page (above), in-page anchor on main calendar page (list), in-page anchor on main calendar page (grid).

My Calendar > Settings > Display – Grid Options – List Options – Mini Calendar Options.

Next: My Calendar > Settings > Input.

Settings – General

General Settings is located under My Calendar > Settings > General.

My Calendar > Settings > General

My Calendar Management

Calendar Page Location

“My Calendar” is the title automatically added to the page that is created to display the calendar. You can edit this page as a normal page at Pages > All Pages.

Default sort order for Admin Events List

The Events screen columns can be ordered by Event ID, Title, Date/Time, Author, Category and Location. One can also directly reorder the Event list by clicking the column headings on the Events screen.

Default sort direction

Descending (Z-A) or Ascending (A-Z).

Checkbox clicked: for Pretty Permalinks will show a similar slug to this example. https://example.com/mc-events/a-new-event/?mc_id=1

Website name / events base / event title / event ID.

Checkbox not clicked: not showing pretty permalinks will show a similar slug to this example. https://example.com/my-calendar/?mc_id=1

It will not use the events base in the slug.

With pretty permalinks enabled, single event views are rendered using your theme’s single.php template file. Otherwise, single event views are rendered by the My Calendar shortcode on your calendar page.

Go to Settings > Permalinks to change the base URL for events and locations.

My Calendar WordPress plugin. Setting Permalinks for Events and Locations.


The following example in changing mc-events to concerts with pretty permalinks activated: https://example.com/concerts/a-new-event/?mc_id=4

Advanced section

Get data (events, categories and locations) from a remote database.

This option allows you to share data between multiple sites if they all need matching calendars.

  1. It requires you to enable remote database access on the source site as a hosting option in the hosting control panel or by contacting your host.
  2. Once you enable the option, you will need to add code to your theme’s functions.php file to make the remote connection work.
function mc_remote_db() {
        $mcdb = new wpdb('DB_USER','DB_PASSWORD','DB_NAME','DB_ADDRESS');
        return $mcdb;
}

Replace the above placeholders with the host-site database information. The two sites must have the same WordPress table prefix. While this option is enabled, you may not enter or edit events through this installation.

Enabling a remote data connection will disable Adding and Managing Events, Locations, and Categories, as all that data will be drawn from the remote database. Scripts, settings, and styles are still managed from the local installation.

Example:
You own two movie theaters, and they show the same movies at the same times. Rather than enter every event twice, you can remotely access the database for theater 1 so that both theaters display exactly the same event information. The two sites can have completely different designs, and show calendars in different ways, but share the same events.

Enable external API

Enable to acquire custom event data in JSON, CSV, or iCal (.ics). When you enable the External API, the URL for requests to your API will be displayed. This API does not use the WordPress REST API.

A REST API is available for My Calendar if you have My Calendar Pro activated. Read more about the Enable external API.

Drop MySQL tables on uninstall

Check this option prior to uninstalling My Calendar to also delete all event data.

Delete plugin settings on uninstall

Check this option prior to uninstalling if you wish to delete all the settings you have configured.

Settings on other screens

Settings > Permalinks: Events permalink slug (mc-events)
Settings > Permalinks: Location permalink slug (mc-locations)
Settings > General: First day of the week

My Calendar: Setting Permalinks for Events and Locations.

General WordPress settings

There are two important settings controlled outside the plugin:
the time zone events are displayed in and the day of the week the calendar starts on. These options are set from the WordPress general settings: Dashboard > Settings > General.

Next: My Calendar > Settings > Text.

Settings – Input

Calendar Input Settings is located under My Calendar > Settings > Input.

My Calendar > Settings > Input

Calendar Input Fields

Event editing fields to show
Restrict your event authors from using certain fields, or reduce the number of fields you see when creating or editing events, use these options to remove the fields you do not plan to use.

Example: Uncheck Categories and Event Location. Click Save Input Settings. Go to create a new (add) Event or open an existing event. Notice Categories and Event Location inputs have been removed. This will remove Categories and Event Locations for all users.

An alternative method is to use Screen Options in the Add Event or existing event screen to hide fields. Example: Categories and Event Location for all events. This will remove Categories and Event Locations just for my user.

Event: Screen Options. Event editing fields to show.

Notice the two different approaches. Output Settings will removes a field for all users. Screen Options removes it just for yourself.

Location Controls

With Location Controls we can define the values one can select when adding a new location. Save custom values to change location text fields into dropdowns. One field per line. Format: saved_value,Displayed Value

We can add adjustments to the following Input Settings Location Controls Fields:

  • Name of Location.
  • City
  • State/Province
  • Postal Code
  • Region
  • Country

Changing any of the above name/value pairs will also change the name (value) seen in the Location fields, but does not change previously saved data.

Here is an example: Adding Montana – MT, Minnesota – MN and Maine – ME to the location controls for State/Province.

My Calendar > Settings > Input > Location Controls

The Add New Location screen.
We will see a dropdown in the State/Province field. Because of the above adjustment.

My Calendar > Add New Location > State/Province drop down

Being able to control the Location Controls gives us the opportunity to finetune the setup when adding a new location. As we can limit various fields one is able to insert.

Next: My Calendar > Settings > Permissions.

Settings – Multisite

The following Multisite screen will be seen if you have the Multisite Network setup activated. My Calendar > Settings > Multisite.

My Calendar > Settings > Multisite

Multisite configuration – input

Site owners may only post to their local calendar.
Site owners have access to post only to their own sub site calendar.

Site owners may only post to the central calendar.
Site owners can only post to the primary sub site calendar.

Site owners may manage either calendar.
Site owners can manage their own sub site and the primary (sub) site calendars.

Multisite configuration – output

Sub-site calendars show events from their local calendar.
Show events from only the sub site calendar.

Sub-site calendars show events from the central calendar.
Show events from the primary sub site calendar.

Settings – Notifications

Calendar Notifications Settings is located under My Calendar > Settings > Notifications.

My Calendar > Settings > Notifications

It can be useful for notifications to be sent out when new events are submitted or created by lower-level subscribers, as these events might need administrative approval to be posted to the calendar.

Calendar Email Settings

Email Notifications

Send Email Notifications when new events are added.

Send HTML email
If you select this option you can include your complete HTML template within the Message Body Field.

Notification messages are sent to:
If you wish to send notifications to multiple email addresses, you can enter them separated by commas.

My Calendar Pro version
The plugin will send notifications when events are submitted from the public interface. Those are a separate set of messages. Both notifications will be sent; but they do not need to be sent to the same person.

Notification messages are sent from:
BCC on notifications (one per line):

Email subject – subject line of email
Message Body – message sent (template tags available.)

Settings – Permissions

Calendar Permissions Settings is located under My Calendar > Settings > Permissions.

My Calendar > Settings > Permissions

My Calendar Permissions

Permissions in My Calendar are granular, so you can provide user roles with access only to specific portions of My Calendar. It supports custom roles, as well, so you can grant permissions to any role you create or that is created by a membership plugin.

The administrator role has all capabilities, and you can not remove these in My Calendar.

Event Editing Permissions

  • Add Events: Grants users access to enter new events as drafts
  • Approve Events: Grants users the ability to publish events added by other users.
  • Publish Events: Grants the ability to publish your own events.
  • Manage Events: Grants full access to editing and publishing events.

Next: My Calendar > Settings > Notifications.

Settings – Text

Text Settings is located under My Calendar > Settings > Text.

My Calendar > Settings > Text

Text Settings

My Calendar gives control over a number of text fields via this section of settings. These are not the only elements of text that can be controlled; almost any element of event and date output can be modified.

Templating

My Calendar > Settings -> Text -> Templating

Event title (Grid), Event title (Single), Event title (List): The text displayed in grid, list or single view. Different amounts of information can be needed in each view.

Grid, Single and List examples.

Grid

Event title (Grid) {time}: {title}

Example with adding in the word “Event Title” into the Event title (Grid) field.
I added shortcode: {time} Event Title: {title}

Frontend view:

My Calendar > Settings > Text > Event title (Grid). Frontend view.


Single

Event title (Single) {title}

Example with adding in the word “Event Single Title: ” into the Event title (Single) field. I added the shortcode: Event Single Title: {title}

Frontend view:

My Calendar > Settings > Text > Event Title (Single). Frontend view.


List

Event title (List) {title}

Example with adding in the word “Event List Title” into the Event title (List).
I added the shortcode: Event List Title: {title}

Frontend view:

My Calendar > Settings > Text > Event title (List). Frontend view.

These are the changes I made:

My Calendar > Settings > Text - Templating fields.
My Calendar > Settings > Text – Templating fields.

Main Calendar View

My Calendar > Settings > Text > Main Calendar View

My Calendar provides adjustable forward and backward navigation link text.

Previous events link – Previous
Next events link – Next

Here is an example of adding {date} to Previous {date} and Next {date} to indicate what month and year is being navigated to.

The frontend will show the Previous and Next links along with the month and year.

My Calendar > Settings Text > Previous and Next with Date shortcode. Frontend view.

Week view caption.

The default caption is “Week of” and the date.

Week view. It only supports the template tag for {date}. Here is an example of adding {date} and the words “Week view caption” to the Week view caption field. This is the template I set: Week view caption {date}. On the frontend we can see the caption followed by Monday’s date.

My Calendar > Settings Text > Week View Caption. Frontend view.

We can also adjust the date format by adding this shortcode: {date format=""}
Example F j,Y so we get Week view caption {date format="F j, Y"} the result would be:

My Calendar > Settings Text > Week View Caption date format. Frontend view.

The bottom of the Text settings we get an overview of the Date/Time Formats.

Extended caption.

Extended caption. Add text if you want additional information than month and year in your calendar heading. Here is an example of adding the words “This is the extended caption” to the calendar heading.

My Calendar > Settings Text > Extended caption. Frontend view.

Single Event View

My Calendar > Settings > Text > Single Event View

Label for all-day events All day can be changed in two places. Through the Text settings or when creating a new event or editing an event.

Changing it through Text settings will change all of the “Label for all-day events” labels. Changing it while creating an event or editing an event will only change the label for the individual event.

Hosted by Hosted by
Posted by Posted by
Buy tickets Buy tickets
Event Accessibility Heading Event Accessibility
View full calendar View full calendar
Read more text Read more

Here is an example of a single event where one can see most of the text that can be modified.

My Calendar > Settings > Text > various options. Frontend view.

More Information text More information
Browser tab title element template {title} » {date}

Date/Time formats

Primary Date Format F j, Y
Time Format g:i a
Month Format (calendar headings)
Date in grid mode, week view M j, ‘y

Date formats

F = month
M = first 3 letters of the month
j = day
Y = Year

Time formats

g = hour
i = minutes
a = am/pm

For additional information: Date formats use syntax from the PHP date() function. See the My Calendar documentation for more information about Event Template tags.

Next: My Calendar > Settings > Display.

Shortcodes

Shortcodes is located under My Calendar > Shortcodes.
Main, Upcoming and Today.

Main

The general Calendar. Will show the default calendar view based on the selections in the Main tab screen. You can also go directly to the backend My Calendar page and modify the shortcodes seen on the bottom in the meta boxes.

[my_calendar]
My Calendar > Shortcodes > Main

Content Filters

Categories to display. Select All or specific categories to display.
Location filter type. Select a specific location area to filter by.
Location values. Fill in a specific value.
Search keyword. Shows events containing a specific keyword.

Navigation keywords that can be used separated by commas in the “Navigation above calendar” and “Navigation below calendar” fields.

toggle – Switch between list and grid views
timeframe – Toggle between day, week, and month view
jump – Jump to any other month/year
nav – Primary Previous/Next Buttons
calendar – The calendar
key – Categories
print – Link to printable view
feeds – iCal Subscription Links
exports – iCal Subscription Links
locations – Location (dropdown)
categories – Categories (dropdown)
access – Access (dropdown)
search – Search

The attributes will show up in the order they are listed. To remove all navigation add “none”. My Calendar will show the default settings if no attributes are added.
Defaults can be configured in the Settings > Display screen.

Author & Host Filters

Limit by Author.
Limit by Host.

Formatting & Timeframe

Format. Choose from Grid, List or Mini.
Time Segment. Month, Next Month, Week, Day
Months to show in list view. Select the amount of months to be seen in list view.

Initial Date Shown

Select the start date of events going forward.
Year. By Default or the next 5 years.
Month. By Default or a specific month.
Day.
By Default or from 1 to 31.

Upcoming

Upcoming events you can show events coming up in the future, or include past events.

My Calendar > Shortcodes > Upcoming

Today

How todays events are seen.

My Calendar > Shortcodes > Today


Widgets

Widgets are located under Appearance > Widgets or in the Appearance > Customize > Widgets section.

Widgets do not provide different functionality than shortcode functions, but they do make it easier to implement secondary calendars.

Block Widgets

Block widgets are used in the Core Editor (Gutenberg).

Appearance > Widgets.
Add widget blocks by clicking the top left blue square with a + in it to open the block inserter. (The blue square changes to black when open.)
The block inserter area looks like this.

Block Widgets

Widget overview

Widgets are pictured using the block widget interface, but are also available in the classic widget interface.

My Calendar: Today’s Events

Today’s Events

My Calendar: Upcoming Events

Upcoming Events

My Calendar: Mini Calendar

My Calendar: Mini Calendar block widget

My Calendar: Simple Event Search

Simple Event Search

My Calendar: Event Filters

Event Filters

Appearance > Customize
Have the same block widgets as are seen in the Widgets screen.
Here is an example using the My Calendar: Mini Calendar.

Customize – widgets – Mini Calendar