iCal 4 WP

What is iCal4WP?

iCal4WP (iCal for WordPress) is a plugin for the popular WordPress blog system that allow you to create calendars in any WP category. It can list events in the standard WordPress sidebar as well as generate iCal format feeds that you can add in your calendar application such as Apple iCal, Google Calendar or any other calendar software supporting iCal standard format. Feeds can be generated for one particular category or for all in one. [It allows you as well to do some simple geopositionning to show on a map the location of your event]. See the complete list of features below for more details and the todo list for next version plan. This WordPress plugin is released under the GPL license. I bet you want to see it in action? It’s fair enough! You can simply check on the left sidebar on this website. You will only see the blog side, I cannot open the backend. But you have some screenshots below.

Features

Event Creation

» Event details (location, date and time, all day event…) form directly accessible in the ‘Write Post’ page iCal Create Event Form » You can set some repeating rules (daily, weekly, monthly and yearly) with a great level of detail, iCal4WP Repeat Options » Events can be in any category, the plugin only search for post with iCal meta data available, » You can specify whether you want the event to show up or not in the blog as a normal post or stay only as an event.

Events and calendars subscription/listing

» A List of events can be integrated in the standard WordPress sidebar.

iCal4Wp Events List

» It Can generate one single iCal format feed and/or one iCal format feed per category to create specific calendar per category/topic (such as Sport, Culture…).

iCal4WP Calendar Feeds

» iCal feeds are Apple iCal (Apple iCal Icon with webcal:// protocol) and Google Calendar (Google Calendar Icon) compatible. When the post is shown it will list event details in a hCalendar microformat way. hCalendar microformat in iCal4WP

Administration

As a WordPress plugin, ical4wp, offers you an admin panel in the Options main menu of your WordPress admin interface.

iCal4WP AdminiCal4WP Widget

and on top of this you have 2 widgets if you are using the Widget plugin.

Geopositionning

» As an option (if you provide a Google Maps Key) you can use Google Maps to show the location of the event, as well as a Google Earth kmz file can be downloaded. » A Google Earth Network Link can also be generated automatically to keep all places put in the blog in one organized file to view in Google Earth. » Geopositionning is still alpha and not everything is yet implemented, I am working on it!

Download & Install

You can simply download the version Beta 2 zip file and:

  • unzip it in your WordPress’ plugins directory ({WORDPRESS HOME}/wp-content/plugins/ )
  • Go to your ‘Plugins‘ section in WordPress backend web interface and activate the plugin
  • Go to ‘Options->iCal4WP‘ to configurate the basic option of the plugin
  • Enjoy it!

It is still beta because some features are not yet fully working, such as geopositionning. If you want to list all coming events on your sidebar you have now 2 ways: the simpler one is to use the widget plugin (http://automattic.com/code/widgets/), it is then just a matter of drag-n-drop! The second way is to insert things manually in your theme sidebar.php file:

<h2 class="ical_list_events_title"><?=ical_list_events_title()?></h2><?php if (function_exists('ical_list_events')){ ical_list_events(); }?>

To make a list of all your calendars, including:

  • One iCal format calendar including all upcoming events,
  • One calendar per category (e.g. Sport, Culture…) if a category has at least one event with the end date in the future.
<h2 class="ical_list_calendars_title">< ?=ical_list_calendars_title()?></h2><?php if ( function_exists('ical_list_calendars') ) { ical_list_calendars(); } ?>

Background

This plugin has been developed because I could not find exactly what I wanted with those already available in the WordPress community. It is inspired by others plugins such as WP-iCal and EventCalendar3, and I want to thanks them for their work that help me a lot. I wanted the iCal feed from WP-iCal (the only one that was working out-of-the-box) and its approach to add meta data to each post that are events but I wanted more, such as geopositionning and integration with WordPress category. Beside all this, I wanted to use as much as possible the API (…still difficult to find documentation for some “hook” and code) from WordPress:

  • not to write my own SQL code when I do not have to.
  • store post meta data in one array/object rather than writing one meta row for each which is a waste of database as well as writing/reading time (although very minor in such type of code)…but complexify a little bit some process.

Resources

I want as well to mention some wonderful peace of code that I use in this plugin: Javascript library Prototype and Scriptaculous as well as Google Maps API, not to mention Google Calendar for inspiration.

Known issues, Bugs and Whishlist

I have started to use Flyspray to follow-up bugs and feature request, you can access it at Flyspray for iCal4WP. You can submit bugs and feature request now! You can also join the brand new forum.

  • I still cannot find a way to add directly in Google Calendar althought I am pretty sure it is possible. Any idea?
  • list of events is not ordered correctly by date [BIG BUG!], specially for event with repeat options, thanks Roger!
  • I just discovered that some type of repeating events do not work with Google Calendar although it works with iCal…I love standards!!!

Donate!

You want to support this plugin and speed up the development? Do not hesitate to show your support with a Paypal donation!

31 thoughts on “iCal 4 WP

  1. Pingback: iCal for WordPress プラグイン « :: plasticdreams ::

  2. Pingback: [i:rrhoblog] » links for 2006-06-21

  3. Pingback: ..

  4. Pingback: seiyuu3 test » Blog Archive » Added the Upcoming events thingy on the side.

  5. Pingback: Mischief Mayhem Soap » Blog Archiv » Ein Plugin für die iCal Synchronisation

  6. Pingback: Ingredients » Nick’s Notepad » Blog Archive » Diving into Wordpress

  7. Pingback: Thoughts and Code » iCal 4 WP new release, Beta 1

  8. Alex

    I installed the new beta 1 of iCal4WP, everything was looking great until I tried to validate the XHTML and I got several errors.

    The first was that the validator did not like the H2 around the “Events” header and then it did not like the /strong after each date.

    I tried registering with flyspray and kept getting an error.

    I used the Valid XHTML that is in the default Kurick theme sidebar

  9. TJ

    I’m apologize if this is a stupid question, but how do I generate the link to subscribe to events (using Apples iCal) that I’ve set up using iCal4WP? Also, is there anyway plan to add the feature that will allow me to setup events in Apple’s iCal and have them appear on my blog site?

  10. Pingback: links for 2006-12-30 at Wired Gecko

  11. Pingback: Mac User Group Linz, Austria » Blog Archive » Todo

  12. Pingback: Computer and Internet » iCal for Wordpress

  13. Tom Bammann

    I tried registering to Flyspray but it didn’t send an email and generated lots of errors.

    Firstly, I just want to say that this is bloody brilliant!!!!! You truly are a genius. I’m using it for a website I maintain for The Institution of Engineering and Technology, South Australia and Northern Territory Branch. We are a group of volunteer engineers that do good things for the community, like encouraging young people to take up engineering as a career.

    Anyway, I have a few bugs to report, to help you further develop this fantastic plugin.
    1) During the day of which there is an evening event, the evening event will not display in “upcoming events”. So if someone checks it on the day of the event, that will think it’s been cancelled :( Bummer.
    2) When I first load the webpage, the Calendar Feeds displays one massive list of each category and each three calendar formats. There is the “other” heading missing for “other calendar types” and so the google calendar list appears to be twice as long as the Apple format.
    3) I can’t actually get the Google Calendar to appear in my Google Calendar. It will subscribe to the website iCal no problems, but no events have appeared in the Google Calendar when viewing with Google Calendars.

    Please keep in touch if there’s anything I can do to help such as further testing.

  14. Tom Bammann

    Further to the above, I did some more testing with Google Calendars. It will display the events in Google Calendars if you add each category individually, but if you choose ALL EVENTS it doesn’t show up anything.
    4) Also, the events that DO show up are out by massive timezone differences :(

  15. kiroro

    I just download your plugin and activated it.
    But option panel isn’t like your pic above. and there is nothing changed in my blog.
    Should I add some code in my sidebar?or something else?

  16. worm eater

    hi- i’ve been using ical4wp, and really like it, but there is one minor thing i’d like to change. i want the list of events in the sidebar to display all events up to and including those happening on the current day. right now, if the event takes place today, it does not display. can you tell me what to change in the code to make this happen? thanks.

    also, i don’t really understand how the geopositioning works. what exactly do i put into the “where” box? (i assume the long + lat values from the google maps url for the location) and where is this information displayed? is it supposed to generate a link to google maps?

  17. worm eater

    But option panel isn’t like your pic above. and there is nothing changed in my blog.
    Should I add some code in my sidebar?or something else?

    did you put the code shown above in the “download and install” section into your sidebar?

  18. worm eater

    tom- wrt:

    During the day of which there is an evening event, the evening event will not display in “upcoming events”. So if someone checks it on the day of the event, that will think it’s been cancelled

    if you open the file ical4wp.php in a text editor, line 481 should read:

    if (strtotime($post['end_date']) >= strtotime("now")) {

    change the “now” to “yesterday” so it reads:

    if (strtotime($post['end_date']) >= strtotime("yesterday")) {

    that should fix the problem. at least it did for me. i’m not sure if it will leave the event up too long, but that is better than it disappearing too soon.

  19. Saman Sadeghi

    A great idea, I installed per directions but it’s not listing events! The calendar is on the side bar here
    You said:
    search for post with iCal meta data available
    Do I need to specify something special? I set location, time and repeats an get nothing!

  20. Tom Bammann

    I discovered I had to put the CSS into my theme’s CSS for the plugin’s CSS to work. I think this is a problem with WP 2.0.5 or later. I also had to move the icons and adjust the directories that link in the icons in the ical4wp.php file.

    The only problem I’m having now, is that the timezones being displayed in Google Calendars – it’s displaying things at completely the wrong time.

  21. Vincent

    Im testing this to use on a friend’s site and so far I like it. I just have a question… I’d like to place code in the individual posts regarding the date/time of the event. As it is now, we input time but it’s not shown anywhere that I see. How can i extract this info? I dont see any metadata with the time information.

  22. Pingback: Thoughts and Code » ical4wp is back in beta 2!

  23. Pingback: Links for 2/14/07 at 1FPS | David Chartier

  24. Heather

    Just wondering, is there a way to implement this plugin in a wordpress page or does it only work through the sidebar? Any help would be appreciated.

    Sincerely,
    Heather

  25. em68

    After activating the plugin I get this:
    Fatal error: Cannot redeclare class iCal in …/www/wp-content/plugins/ical4wp/ical4wp3.php on line 32
    Any idea?
    Thankxx,
    emeff

  26. igor

    great plugin, but i would like to be able to enter events without having to specify end date/time.

    im a dj, and all i want to have it display is:

    Fri, Mar 09 (10 PM)
    Name Of The Event

    currently if i don’t specify the end date
    event does not show up. My events go till 2am, but i don’t want to see

    Fri Mar 9 – Sat Mar 10
    Name Of The Event

    thanks

  27. Markus

    Hei,

    i don´t know why, but it doesn´t work. I don´t see any event in the sidebar. I use WordPress 2.1 – it this the problem?

    Thanks for your time!
    Markus

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>