Hello!
We're using W3 Total Cache on one of our adult magazine sites. The site has a lot of visitors so caching helps a lot. However, we have our own plugin which displays a disclaimer page instead of the page a new user tried to view. So, if you'd go to our site for the first time, any link on that page would display the disclaimer page instead of the actual page the link is leading to.
Clicking the ENTER button sends a POST variable to the server, telling that the user has accepted terms of use, and refreshes the page. After refresh the actual page content is displayed instead of the disclaimer.
I've managed to make the disclaimer itself to be non-cacheable, but what happens now is that full pages get cached and if someone else visits the site for the first time, he gets a cached page instead of the disclaimer.
The disclaimer's code should launch before the W3 Total Cache and decide whether to display the disclaimer page or let WordPress go its course with the page. How can one accomplish that? I've seen that there are functions like "w3tc_add_action" but I cannot find the documentation about them or anything else.