Hi again Jon,
While we're super happy the "cookie + no cache" approach works, seems like we're pretty keen to stick with WPEngine (and thus, it's caching mechanism)... so, we're wondering if you have a good guess whether the cookie approach we've arrived at can be made to work with their caching mechanism... for example by overriding the cache somehow when in the URL there is the '?keyword=value' string detected and/or the ensuing cookie is detected. I realize it looks like a very slim chance and may not worth the effort to work on, considering the many caching plugins out there aside from WPEngine's that needs to be worked with... so, please consider this a light question to check feasibility, not a request to pursue it.
Minding the above, I just tested on our live WPEngine site that the non-sticky (non-cookie) '?keyword-value' approach is able to load the alternate theme each time, despite caching enabled for the default theme (standard URL), e.g:
- http://blog.theastrologer.com/the-astrologer-daily-june-30th-2014-2/
- http://blog.theastrologer.com/the-astrologer-daily-june-30th-2014-2/?theme=2012
This is also true for the staging site using the WP Fastest Cache plugin:
- http://theastro.staging.wpengine.com/the-astrologer-daily-june-30th-2014-2/
- http://theastro.staging.wpengine.com/the-astrologer-daily-june-30th-2014-2/?theme=2012
So, I wonder if, citing your earlier post in this thread:
----------------------------------------------------------------
I went through all the issues associated with adding a ?keyword=value string to the end of every link, and I just don't think it would be feasible to find all links:
- in every part of a WordPress "web page"
- without accidentally appending to non-WordPress links
I just don't think it is the best solution for you and anyone else with a similar kind of issue. Again, just my opinion.
----------------------------------------------------------------
If perhaps... instead of "finding all links"... it's possible to detect each click, see the URL it links to, determine if it originates from the same Wordpress site/domain, and if it does, append the '?keyword=value' string on the fly, so that the next HTTP call (URL opened by browser) will have that string?
At least, this looks like a more robust approach that will likely be compatible with various caching plugins/mechanisms.
Also, while I understand the generosity from which your responses thus far springs from, I also would like to kindly ask, that when and if, the above approach is feasible and it will likely take a considerable amount of time, you would consider receiving a commission to have that functionality built into the plugin... I believe our team would be happy to consider it... and it is only proper that we offer you that, especially considering the professionalism on your part on approaching this issue.
Thank you again for reading through and considering. I hope I don't sound 'pushy' or 'demanding' in a negative way. On the contrary, I think I'm approaching this with the same problem-solving spirit as you do... :-)
Hope we can find a good solution to this.
Many thanks!
Bowo