I've finished updating my EventCalendar2 plugin for WordPress 1.5. I've added the ability to publish the 'event' category as an online calendar. You can subscribe to the calendar from iCal (OSX), Sunbird, and probably MS Outlook.


EventCalendar 2.2 is compatible with WordPress 1.5. Earlier versions of EventCalendar required a hack to get full functionality. This hack is no longer necessary.

Template Changes:


<?php get_calendar(); ?>


<?php get_event_calendar(X); ?>

...where X is the numeric ID of your event category.

If you want i18n standard weeks (that start on Monday) use:

<?php get_event_calendar(X,'mon'); ?>

You can show the next month as well as the current month. This is really useful for looking forward to upcoming events:

<?php get_event_calendar(X,'sun',2); ?>

You can just show events, and ignore normal posts:

<?php get_event_calendar(X,'sun',1,False); ?>

You can also use three-letter acronyms for day-column headers:

<?php get_event_calendar(X,'sun',1,True,3); ?>

Stylesheet changes:

Id #wp-calendar is no longer a table, but a div that contains one or more tables. At the very least, you'll want to change the selector for the #wp-calendar rule from:

#wp-calendar {


#wp-calendar table {

Add a rule to highlight event days. There is a new class 'eventday':

#wp-calendar a.eventday { color:#a00 }


If you want to make sure that the ONLY visible future posts are from your event category, then edit the file eventcalendar2.php: Set the value of $event_calendar_category to the numeric ID of your event category. If you don't do this, then all future posts will be visible, not just events.

Publish a vCalendar

The file vcalendar.php implements the vCalendar totally separately from the EventCalendar plugin.

Place this file in your WordPress root directory. Edit the file to set the value
of $event_cat to the numeric ID of your event category. You can subscribe to the
calendar at the address
By default, the duration of each event is set to three hours. You can change
this default by setting the variable $default_duration.
You can set the duration of an individual post by adding a custom field to the
  • Key: "duration"
  • Value: