stephenharris / Event-Organiser

WordPress plug-in, Event Organiser, development repository
http://wordpress.org/extend/plugins/event-organiser/
GNU General Public License v3.0
100 stars 76 forks source link

Improve Compatibility with Object Caching #539

Open thewebtailors opened 1 year ago

thewebtailors commented 1 year ago

After enabling Object Caching Pro (gets enabled automatically on Cloudways servers that have 2+ GB of Ram), within the archive query loop, it looses the event's start and end time from the event object. As a result, calls to eo_get_the_end() or eo_get_the_start() return an empty string unless I manually supply the occurrence_id parameter (which I believe is not available at this point either).

Is there something that can be done to make sure that Event Organizer is compatible with object caching? Or is there a way for me to get the current $occurrence_id in the loop?

If Object Caching Pro is disabled, all is well.

wunderdojo commented 1 year ago

Turns out my issue here: https://github.com/stephenharris/Event-Organiser/issues/537 is due to this. Redis is hijacking the WP_Query and returning post IDs only. Disabling Redis fixes the issue. I'll do some digging into properly handling caching.

thewebtailors commented 1 year ago

Thank you for linking your issue and coming up with a workaround!

wunderdojo commented 1 year ago

Sorry, last answer wasn't correct. As @thewebtailors noted it's the WP Object Cache plugin (https://objectcache.pro/), not Redis. It is installed as a mu (must use) plugin on all Cloudways WP sites. Since it's mu you don't see it listed on the plugins screen so I didn't realize it was active. That must have updated recently as we haven't had any issues with that and EO going back to last spring. Disabling it under Network -> Settings -> Object Cache immediately resolved the issues.

thewebtailors commented 12 months ago

Thanks for the extra input @wunderdojo ! It would still be nice if this could be fixed since Cloudways is a popular hosting company and Object Caching is enabled by default. Also, Events Organizer is the only plugin I ran into issues using Object Caching. In the meantime, I will keep Object Caching disabled.