WP-ICS Importer

So, well, shortly after my first official Plugin, here is already the next one :D . In fact, I had begun this project long before wp-caldav2ics, when I found out that ICS Calendar was the Calendar Plugin which by far best suited my needs from the numerous Plugins in the WP Directory. The key features are:

  • Display multiple Calendars from several .ics Files simultaneously
  • Offer great Flexibility in how to display things
  • Support custom CSS Files
  • has nice Javascript popups for examining Events details

But, as it had not been updated in 9 years (from now), it would no more work with recent Versions of Wordpress or PHP. So I just fixed the most annoying things and used it for my own Calendar here. But then, with PHP 7.x, things began to get even worse: now I had not only to deal with minor annoyances, but with Fatal Errors, which prevented the Plugin to work at all. So I took again a closer look at the other Calendar Plugins out there, but honestly, not one of them came near to what I really wanted. So I bit the bullet once again and took the time to figure out what went wrong, and why, also looking at Warnings and Notices in the WP Debug log, not just Errors. And that is the state I have reached now: no more Fatal Errors, nor Warnings or Notices, just working - even with PHP 5.6 up to 7.2 ;-) . And, as an addition, each Event now has its own Background Color specific to the .ics File where it belongs to, as well as a corresponding Legend below, so it is just obvious which Event belongs to which Calendar ! As a downside, I realized that keeping the Sidebar Widget Functionality would need much more work to be done, and as I didn't need this for myself, I just disabeled it for the moment (maybe I'll look into this some time later ?). Now, the remaining question is: should I try to get this published in the WP Directory ? If yes, this would of course be best accomplished by overtaking maintainership of the original Plugin, rather than creating a fork. Additionally, this would also eliminate the need to re-submit the whole thing through the official WP Process, which can be somewhat tedious :D - but it can only be done by the current maintainer. I'm currently trying to reach him and eventually get his 'ok', but that does not seem to be too easy (the mentioned Website isn't working anymore, no email Address provided..). So, let's see if I will have success with that...

Update (28.12.18): Unfortunately, I could not reach the Original Developer although I found an email address on his github account. So I suppose he does not use that anymore, or he is just not willing to give over maintainership of his plugin to anyone else.

So, for the time beeing, I decided to just keep the updated Version of the Plugin here on my own site, as the process of beeing granted maintainership from wordpress.org is just too tedious (especially if the original author refuses to cooperate).

And not to forget, there is currently a new (hidden) feature: show Month-specific Pictures :D .

Update (16.01.19): This Plugin is now hosted on GitHub - future commits/changes will be available there for the time beeing (at least as long as it is not in the WP Directory...). Just an additional Note: Those who already have downloaded an older Version from my own Website (Link now deleted) will have to perform the followings steps when migrating/updating to the GitHub Version:

  1. De-activate the old Plugin
  2. Rename the Plugin folder from 'wordpress-ics-importer' to 'wp-ics-importer'
  3. Re-activate the Plugin
  4. Now You are safe to continue with the GitHub Version ! (git clone will create a folder 'wp-ics-importer' which you can just upload, but Downloading the zip File from Github will result in a folder 'wp-ics-importer-master' - you should rename that before uploading !

Alternatively, you can just unpack the zip-File from GitHub and then upload the files into your previously used Plugin Directory.

And another addition w.r. Support: if you have issues/find a bug or want to ask for a new feature: please use the GitHub Support Page.