Plugin Author
room34
(@room34)
When you set reload="true"
it purges the existing cache for that calendar, so it should not be returning to the old events. Are you using another caching plugin (e.g. WP Super Cache, W3 Total Cache, WP Rocket, etc.)? That may be what’s caching it. You might need to clear that cache or turn off caching altogether for the page the calendar is on.
Please note that ICS Calendar only caches calendar data for 1 hour anyway, so although the changes don’t show up instantly, they should show up fairly soon. (Depending on your usage, that may not be soon enough — but if that’s the case, I would recommend keeping reload="true"
on permanently.)
Can you point me to where the documentation says 10 minutes? That was how it was set up in the early days, so that may be an old spot I just need to update in the docs. Thanks!
Thank you for your prompt reply. Our site site is not using any plugins for caching. Can you think of any other controls on caching?
After I sent this last post, I noticed that the calendar finally reloaded without the forced reload parameter. I can’t say exactly when, but I can say that I had a timer set and noticed that it was refreshed when I checked at about 31 minutes. So, it was somewhere between 10 and 31 mins.
This link mentions 10 minutes:
https://icscalendar.com/user-guide/#all-parameters
reload
By default the plugin uses WordPress transients to cache parsed calendar data for 10 minutes. This improves performance and avoids exceeding request limits that may be set on your calendar server. To temporarily bypass this caching while testing configuration changes, use reload=”true”. Please note: you should only use this feature when you need to force a reload for testing purposes. Do not leave this setting on permanently, especially if your site receives a large amount of traffic.
On this page, it states one hour:
https://wordpress.org/plugins/ics-calendar/
Why isn’t my calendar updating?
For performance, this plugin uses WordPress transients to store retrieved calendar data for one hour between requests to the calendar source server. If you have updated events that are not showing up in your page, you can force the plugin to reload the ICS feed every time by adding reload=”1″ to the shortcode. Be sure to remove this when you no longer need to force reload.
I might be misreading the information. Again, not trying to be negative. Just looking for answers. I starting learning WordPress about a year and a half ago. Still learning! Hahaha…
Thank you
Mike
Plugin Author
room34
(@room34)
Thanks… I’ll update that documentation. The correct answer is that it caches the data for one hour.
I’m inclined to suggest that you just keep reload="true"
(or reload="1"
; they’re interchangeable) in the shortcode permanently. The main reasons it caches at all are:
1. If a feed has a very large number of events (especially a lot of recurring events), it can take a few seconds to process, and therefore slow down the page loading time.
2. The source calendar may have a limit on the number of requests per hour, and if your site gets a large amount of traffic, you may hit that limit and the calendar would stop loading.
Most sites using the plugin probably don’t have either of these issues, but it’s still faster and more efficient to cache the data, as long as you don’t need instant updates, which is why the plugin caches for an hour by default.
Good info. I’ll hold onto it.
Thank you again,
Mike