Not happy with current offerings, I created a plug to add an events calendar to my client’s sites. You can check out the demo events calendar here.
A few features:
- Many types of repeating events.
- Easy to set up. Let the plugin know what page name you want to use and your good to go.
- Exclude events from certain dates every year such as holidays. You can also include dates to an event if it doesn’t fall on a specific repeat pattern.
- Each event has its own page. Great for SEO and direct linking to events for more information.
- Add unlimited events. Great for fitness centers, schools, organizations, and companies.
- Create categories for easy viewing and sorting.
- Automatic print view to for easy printing and saving ink.
Please let me know if you find any bugs or have some suggestions. I’ve built it from the requirements of my clients and am always looking to improve it.
Install
- Unzip the `cgm_calendar.zip` file.
- Upload the the `cgm_calendar` folder (not just the files in it!) to your `wp-contents/plugins` folder. If you’re using FTP, use ‘binary’ mode.
Activate
- In your WordPress administration, go to the Plugins page
- Activate the CGM Calendar plugin and a subpage for CGM Calendar will appear in your Settings menu and also as its own menu.
Display
There are three ways to show the calendar on your site.
- Go to Settings -> CGM Calendar and change the settings to what to you. Set the page name to the url you want to display the calendar and visit http://www.yoursiteurl.com/pagename and it will appear. No page or post creation required
- Add the short code [ cgm-event-calendar ] (with no spaces) to your page or post content you wish to display the calendar
- Use the php function call <?php cgm_event_calendar(); ?> to display the calendar where you wish.
To display upcoming events:
- Go to Settings -> CGM Calendar and set the Calendar URL to the full url where the calendar resides. Default would be http://www.yoururl.com/calendar
- Modify the List Format setting if desired. Note that you will still need to wrap any list in a ul/ol when called.
- Use the function echo cgm_list_upcoming_events(array(‘num_events’ => 5, ‘tag_id’ => ’1,2′)); and change the num_events to how many you want to show and the tag_id list to the tagged events, or remove it to show all.
- You may also use the short code [ cgm-upcoming-events num_events=10 tag_id=1,2 ] to display the list.
If you wish, you can override the default css and print view template by copying the files, css/calendar.css and print_view.php to the base of your template directory.
Settings
Go to Settings -> CGM Calendar
- Page Name – Sets the default url to display the calendar with no page or post creation required
- Default View – Sets the default view of the calendar, by Month or Week when visitors view your calendar
- Start Time – Sets the time that the weekly calendar will start on. If you set the start time for 8am and have an event at 7am, the event will not show on the weekly calendar.
- End Time – Sets the time that the weekly calendar will end on. If you set the end time for 5pm and have an event at 6pm, the event will not show on the weekly calendar.
If you like the plugin, do me a favor and rate it too!
If you have trouble with the plugin, please make sure you reread the directions above before leaving a comment. If you do make a comment about an issue you are having, please provide as much detail as you can about the issue and what you’ve done. Saying it doesn’t work, doesn’t help and your comment will go unanswered.
If you would like custom additions / changes, please use my contact form to inquire about freelance services.
Thanks!

Hi Ryan,
I’m setting up a demo site and found your calendar to be the best. But I’m kind of a newby and can’t figure out how to change the term Instructor to something else more appropriate (Contact? or Organizer? or In Charge?).
Otherwise I think the group will love this Calendar. Beautiful job!
SOOO happy to have found this plugin!!! After having worked with so many duds, it’s such a relief to find one that was relatively pain free to get running. THANK YOU.
I failed to include the errant page code:
Any ideas how to get rid of it?
Thanks.
I successfully got the short code to include a list of upcoming events in a sidebar. YEAH! I have a couple of issues I’m hoping someone can help me sort out:
1) My main calendar page and individual event pages have this code at the bottom: I’ve tried to figure out where it’s coming from and have failed. Any clues?
2) I’ve only added a handful of test events but I’ve noticed that one of them doesn’t show up on the full month view when displaying all categories. It’s there and when I sort by the category it’s in, it displays? I know from your demo that you can have more than 1 event display on a date. My site under development is at http://dev.hoffmangraphics.com/testing Click on Exhibits to see the missing event on the 19th. Any idea what’s wrong?
Thanks,
Sheila
PS: I just read ALL the comments. I see that one of the most common feature requests is to have an all-day option so times do not show. I’d be happy to donate to make that happen.
Hi Everyone, thanks for the comments about the calendar plugin. I know many of you have been asking for additions/changes to the plugin to fit your needs. Unfortunately, I can’t take requests since I don’t have a lot of free time on my hands. The plugin was built for clients of mine and it was built to fit their needs. I released the plugin to the general public to use as a gift to everyone.
If you want changes / additions made to your specific application, please feel free to fill out the contact form and inquire about my freelance services and hiring me to provide changes.
If you are a developer and have made changes/fix to the plugin that you believe would benefit everyone, please email me the changes you have made and I can work them into future releases of the calendar.
Thanks,
Ryan
I have been on a quest for a calendar plug-in for a long time so I know what’s out there. I’m thrilled to have found yours. It’s head and shoulders above anything else. I haven’t had time to read 200+ posts yet so forgive me if these questions have already been answered. I’m just wondering if there’s any way to have the location generate a Google Map? Also if there’s a way to have an iCal output option for folks to download to their PDAs and phones? External add-ons that would add these functions would be awesome.
I’d be happy to donate some money toward the effort to add functions. I’m already sending folks your way on designer forms. I’m most impressed with the ease of use and with the vastness of options for scheduling dates. AWESOME!
Great calendar, much better than anything I have used before. Is there any way that it can be used smaller? ie. a tiny css version?
Thanks
Martin
Hi Ryan,
This calendar is great! We have one issue, the calendar js is on every page and it kills my themes carousels that are on the home page and gives an error. Is there a way to only add your js references in the code to just the page the calendar is on?
Thanks
Tim
I would like to be able to use this date / time format on the events listing that pops up when I click on an item in list view. [date=F j g:i a]
Also, it will only show one future event on list view even though I have set to show five (and I currently have two upcoming events….one in the current month and one next month).
Howdy…nice plugin, ALMOST does what I need…
1) can you modify the event list to include location, and notes?
2) in the “edit events” list on the admin page, would be nice to show the date of the event. All my events have almost the same title, so date + title would allow me to distinguish which one I want to edit.
3) can i grant a non-administrator (like editor or contributor) the ability to add calendar entries?
I am trying to use your calendar to improve the basic one that I have on my WordPress website. Is there any way to setup two different calendars with two different colors to distinguish between cals.
I am teacher and want to list events/assignments for two different classes. Thanks!
Been trying several event calendars and think your would be mest for my use.
But two issues, when installed i have several recurring daily events which i have not made?
And i need some tips on the language issues. Tried the language file without luck but i do need to translate the visable frontend things like days, months etc.
And a 24 hour clock.
regards Chris
This just does not work. It won’t find the url: http://www.otmdems.org/wp/calendar
Is there a problem with that address? I have wordpress installed at http://www.otmdems.org/wp
I have page name as calendar and the other things are also default.
??
I’ve used several different calendar plugins and yours is by far the best. Is it possible to display the category list on the large calendar view by ID rather than alphabetically?
Hey,
i think i already ask.. is it possible to use your calendar in German language? or is there a tool to translate it??
Or, how can i change the month, day.. names etc..?? i didnt found anything.. i love your calendar, think its the best out there for wordpress..
greetz
Ryan,
I notice the first day (1) of the month repeats in some, not all, months. Are you aware of this and/or can I fix it?
Also, is it possible to center the print/view page? Currently it floats “left.”
Many thanks,
Peter
I read your response to Alex above about the pop-up flickering, I am having a similar issue, but only when the page gets scrolled down.
Basically, when you go to view the page with the calendar, on first view it works great, but if you have to scroll down on the page at all because of a small monitor, small browser window etc, the pop-up behaves erratically. Sometimes it will just flicker, other times it pushes off the bottom of the page. I have attempted to adjust the javascript to no avail. Any recommendations?
I did try it on another theme and template and got the same results, so I don’t think it is the theme. I could be wrong though.
Thanks for any assistance.
Hi!
First I have to say that this calendar is exactly what I was looking for!
But, I have two problems. The first is that I can’t understand the instruction to display upcomming events. Where do I put the code? I vant a list of events in a sidebar widget, is it possibe? I’ve tried putting the code in the sidebar.php-file and in a widget but id doesent work. Is there a more step-by-step-instruction?
And, this I susepect is not possible, I’m from Sweden and get confused with the am/pm-thing, is there a way to change it to our way of telling time? So that 3pm becomes 15.00?
Stina
I want to display a what’s on today list using just PHP tags in my own format. Is this possible?
Hi, I have looked through the change log relating to the CGM Event Calender, and it says this:
0.7.8
(09/17/2010) * Upcoming events now go out 6 months looking for events.
Is there any way of extending this. My company will need to show events that are over a year in the future.
If you could help it would be much appreciated
“FYI” for some themes, folks may have to install the “PHP Code Widget” in order to display the upcoming events in a widget. Atahualpa was not displaying either short code or the php code on its own, but using the PHP Code Widget forced it to show the Upcoming Events using the php code.
HTH!
http://wordpress.org/extend/plugins/php-code-widget/
Hello again,
I got the calendar & upcoming events working really well in the “twentyten” theme, but I have another client (the one who is going to make a donation … ) whose site uses the “Atahualpa” theme and I cannot get the upcoming events to work in the widget area. I have set up everything else and the calendar is displaying fine on a page. I have noticed that short code for other plugins does not work in the widget area either (while they do in TwentyTen).
It’s a problem with the theme, and I will be contacting them, but if you have any suggestions, I’d appreciate it.
Thanks!
Thanks for the quick response Ryan. Much appreciated!
Actually, I figured out how to switch the categories to show them below the actual calendar. Was easier than I thought!!
I like way your calendar integrates into the website and the new 3.0.1 framework much better than the others I’ve tried; I would still have to vote for members to not be able to mess with other people’s events though.
Thanks again for the calendar. I am planning on making a donation this fall.
~Bonnie
Hi Ryan,
Thanks for the calendar plug in. I would second the vote for having contributor’s events be approved by an admin; and that they not be able to edit other user’s events.
Also, I was wondering if there is a way, in the monthly view, to have the categories below the calendar itself?
I may have some time to help with this if you can point me in the right direction.
Thanks
~snowboardmommy
Could you add the ability for events to link to pages instead of their own mini article too?
Thanks Nikki. No I have no time frame on that. Since I’ve created this calendar for some clients of mine, unless they request the feature, my time to work on it is limited.
Kathy, it is not going to show the events from your other calendar plugin, mine won’t integrate with them. You’ll have to reenter them all.
Just to clarify, when I installed and activated the CGM calendar, my previously created events would not display on the calendar (or anywhere else). However, if I created a new event, it did show on the CGM calendar.
Also, I’m still not clear on what the notes here are meaning about displaying a list of uncoming events. I haven’t seen it with this calendar.
I have been using another event calendar plugin for a while and I want to improve its look. I installed your CGM calendar. I deactivated my old calendar and activated yours, added a Calendar page and put the text [ cgm-event-calendar ] (with no spaces) within its body. Within the settings, I am using Calendar as the page title, and http://thecommonthreadmerc.com/wordpress/main/calendar/ as the page name and the URL. The calendar will display, but it does not display any of my previously created events.
BTW, I have not been able to get this to work by doing anything other than creating a page for it.
I did go ahead and reactive my original calendar so my customers would have something to view. It is called Classes-Events. Both can be accessed from the Main Sections tab in the right sidebar.
How can I get the events to display with your calendar?
Thanks, Kathy
Hi Ryan! I have downloaded your calendar plug in, and my client loves it! Do you have any timeframe on offering a way to exclude times from being displayed on the multi-day events? That would be great!
Nick, you have to copy the css/calendar.css file into your themes folder then modify it from there.
Mitsuru, thanks. It looks like you got the issue solved?
Moises, I am looking into this.
Matt, past events no, upcoming events yes. Thanks for your support.
Zahara, sorry no.
fotoblogger and mao72, use the code listed above in the documents:
echo cgm_list_upcoming_events(array(‘num_events’ => 5, ‘tag_id’ => ’1,2′));
Dick, all day events have been mentioned before and are on the list.
Stephanie, you would have to accomplish that with css or add spaces in the configuration. try using for each space you want.
Kate, you can copy the css/calendar.css file to your themes folder and change anything you want.
Alex, the popup conflicts with some peoples css settings, you’ll have to modify the javascript to move the popup box up or down a little so the hover effect doesn’t flicker.
Steve no thats not possible with the plugin as it stands.
DavidM, its been mentioned and its on the list.
Antroplogias Unicamp thanks for the code help! I’ll update that in a future release. I havn’t tried changing the start day but its something I might be looking into as some others requested it too but my time it limited so it won’t be soon.
Hi
I could translate into Portuguese the Plug in. In the file “gm_calendar.php” I replaced the line:
load_plugin_textdomain (‘cgm_event_calendar’ plugins_url (‘languages /’, __FILE__));
by:
load_plugin_textdomain (‘cgm_event_calendar’ (‘/ wp-content/plugins/cgm-event-calendar /’));”.
With those the plug read the “cgm_event_calendar-pt_BR.mo”, that did not read before.
My question is: how to change the days and months in to the calendar, I don’t understand where they are obtained the information because translated the “locale.php” and nothing happens…
suggestions?
Is there a way to remove the time from the calendar or have an “All Day” event?
It would also be great if multi-day events were represented by a bar spanning the days.
Great plug-in, just not quite fitting my requirements without these options. Thanks
Is there a way to allow users to submit events but hold them for review by the admin? I would guess somehow making the add event page public but holding it for review would be ideal. Would it be possible to create the events as ‘drafts’ like a wordpress post?
Hello
Hi Ryan,
The pop up preview of calendar events is behaving strangely. First, the pop up script on some of them flickers. And then on other events they display fine except I never know if it is going to display at the top, middle, or bottom of the browser window that is open. What file and what code should I alter to control the behavior of where the pop up displays in the browser window? As for the flickering action that I’m getting, have you seen this bug before?
I beg you to help!
Thanks in advance
Hi Ryan,
Have you had any reports of the calendar section of the plugin expanding past a sidebar? I’m testing out calendar plugins to use on my sites. The plugin works fine on one of my sites. However, on another site of mine, the bottom half of the calendar expands to the right, past the sidebar. You can see the issue at:
http://wellness.firstgenerationprofessional.com/calendar
I have the skills to manipulate PHP and CSS. I looked at the code in the page source and everything looks fine. I did attempt to change the width property of the table in the calendar within the CSS file with no luck. I’m figuring that the current WordPress theme that I am using for this site is somehow not playing nice with this plugin, since it does work properly on my other site. I spent about an hour fooling around with this. So, any insights that you can provide would be greatly appreciated!
Hi
Kyla from South Africa here again – just wanted to say that I came right!!!! This is a great calendar – thank you! I look forward to using it! Appreciate it!
Thanks, great plugin.
I am new to this but is there an easy way to change the colours to blue? any shades!
Thanks,
Great plugin! I only have one problem and it is a small one. My upcoming events list in my sidebar is listing perfectly except for the fact that there is no space between the title of the event and the date. For example, it is listing as “Dairy Market10/25 2:00 pm”. Can you point me to the code to fix this or even change it to where the date and time come before the event title with the proper spacing? Thanks so much for this plugin. It was perfect for what I needed.
I love this calendar. Would really like to make it work. However I ma NOT genius at editing the list format. As it is installed is great, but I would like to increase the events listed in a day as mentioned:
# Modify the List Format setting if desired. Note that you will still need to wrap any list in a ul/ol when called.
# Use the function echo cgm_list_upcoming_events(array(‘num_events’ => 5, ‘tag_id’ => ’1,2′)); and change the num_events to how many you want to show and the tag_id list to the tagged events, or remove it to show all.
# You may also use the short code [ cgm-upcoming-events num_events=10 tag_id=1,2 ] to display the list.
Havent a clue what it says here though
I have looked at your demo calendar and like it just as it is. Would it be possible for you to provide me with the List Format that you used there, then I can just copy it in mine??
Rather difficult working without the knowledge, your help will be very appreciated.
From South Africa
Hi Ryan,
Great calandar! Any chance that you will be adding the ability to have an all-day event (or an event with no time frame) like birthdays, anniversaries….?
is possible to see the upcoming events on the sidebar?
thanks
Fantastic plugin, but…
I am trying to run your calendar plugin on a test site I’m working on which will be launched soon, but I can’t get the upcoming events list to show up in my sidebar. Can you tell me what the precise code is that I need to use please.
Thanks.
Yes, just use this: (it’s documented on this page.)
[ cgm-upcoming-events num_events=10 tag_id=1,2 ]
Hello,
I have a short question: is there a way to display a list of past events?
Thank you!
Hi! First off, great plug-in. I’ll be sure to donate as soon as I get this project up and running
.
Is it possible to display recent/past events?
Thanks!
I have the same problem with the translation that Carl, I have tried some things but always the text is in English.
Thanks.
Hi,
This is a great plug in you have! However i’m currently experiencing a problem. I created a few test events on my calendar:
http://www.ygoinsider.com/events-calendar/
As you can see, i’m using the Upcoming Events shortcode in my widget sidebar. However for some reason, it’s only showing two events even though i’ve setup the shortcode to show 3. It’s also now showing an event that’s set to begin at an earlier date than the two that are being displayed.
What are some things I should try in order to debug this?
Thanks!
Hi Ryan,
Hopefully I’m not repeating something that’s already been covered:
But how do you format the Calendar “day” blocks to have fixed dimensions like on the example on your site? The default for the calendar has “fluid” dimensions, but i’d like to have them fixed for aesthetics.
Any help would be appreciated! Thanks…and this is a great plugin!
Regards,
Nick
Zahara, your right, I fixed the issue and just uploaded version 0.8.1. Thanks