I haven’t had much response (or any, really) to my beta release of 0.4, so I think the best thing to do is release it and be prepared to fix a few issues, if necessary, as and when they arise. I have done quite a lot of testing and everything seems to be ok, but it’s difficult to anticipate some potential problems, especially those to do with i18n and timezones.
0.4 adds quite a few small-ish features that people have asked for, or that fix certain problems. Here’s an explanation of the various bits and bobs:
More Control Over Display of Start and End Dates / Times
In previous versions you were stuck to displaying a time only for the start date, and end dates had to be displayed with a date and time.
Options have now been added so that you can display any combination of time and date for both start and end. You can also customize the separator text, so all of the following formats are possible (amongst many others):
- 19th August 2010, 12:34pm
- 12:34pm – 19th August 2010
- 12:34pm on 19th August 2010
- 19th August 2010 at 12:34pm
Of course, the dates / times themselves can be formatted in any way you require (this has always been possible in the plugin)
Limit Events to Specific Number of Days
There’s now an option in the settings for each feed to specify a maximum number of days to retrieve events for, starting from 12:00am ‘today’ (Thanks to Harald Solheim for this idea).
The ‘maximum number of events to retrieve’ setting still applies even if you have entered a day limit. Events will be retrieved up to the limit that occurs first.
Events in Lists Grouped by Date
Events in lists that occur on the same day can now be grouped under one date heading. To enable this in a widget, select ‘List – grouped by date’ from the drop-down box in the widget settings. In a shortcode, use
type="list-grouped", like this:
[google-calendar-events id="1" type="list-grouped"]
A date title will always be displayed in a grouped list, regardless of whether you chosen not to display one in the shortcode / widget settings (A list grouped by date without the date shown makes little sense).
</head>. If one of these files is jQuery (very common) then the plugin JS encounters errors.
Loading Text Customization
You can now specify the text to be displayed when the calendar grid data is loading during a AJAX request. The default is ‘Loading…’.
Limit Description to Number of Words
In the settings for each feed, you can now specify a maximum number of words of the description to display. This can prevent tooltips from becoming huge if you have lengthy descriptions.
Show a Multi-Day Events on each Day it Spans
Another option in the feed settings allows the display of multi-day events on each day that they span. The current behaviour is just to show multi-day events on the first day that they occur.
Note: I’m not sure if the below limitations even apply any longer as of 0.6. I need to do some testing to make sure!
This feature has some limitations, due to the fact that the calendar feed data from Google only has one entry for events, regardless of how many days they span. My plugin uses the end date / time from the feed data to calculate which additional days to show the event on. However, if the start date / time of the multi-day event has passed (but not the end date / time) and ‘Retrieve past events…’ is set to false, then event will not exist in the feed data, so the plugin can’t add it to the remaining days. Did that make sense? Probably not. Here’s an example:
Today is August 19th. I have an event in my calendar that started on August 17th and ends on August 20th. In the plugin, I set ‘Show past events…’ to false, meaning that events will be retrieved from 12:00am today onwards. The feed data retrieved from Google does not contain the multi-day event, as the start date is before the time at which to begin retrieving events. As far as the plugin is concerned, the event doesn’t exist, so it can’t add it to the appropriate days.
This issue also occurs at the boundary between the previous month and the current month, regardless of whether ‘Retrieve past events…’ is set or not.
I don’t believe that there is any way around this issue without retrieving large amounts of potentially unneccesary feed data, or adding a huge amount of extra complexity to the plugin, neither of which I’m particularly keen to do. I’ll keep investigating anyway, there may be some way of solving this that I haven’t considered.
Basically, don’t rely on this feature being 100% accurate.
You can download the plugin from the WordPress plugin directory, or update automatically from within your WordPress admin.