I have a WP-site with not that many writes, but quite a few reads and a few specific hotspots in the templates that I’d like to cache pretty aggressively with my own PHP-caching mechanism.
I could implement this with a time-based cache expiration scheme, but as I’m sure WordPress provides all the API I need for listening to different events, I could also hook into them for info on when I need to clear caches.
So, I’m a bit lost on the whole hooks / filters -thingy of WordPress. I can add listeners to hooks easily enough, but I’m just a bit too overwhelmed with the amount of hooks available, so my question is:
What hooks should I hook into to basically be able to execute a script upon every INSERT / UPDATE / DELETE operation on the posts-table?
Any pointers on the way onward are much appreciated!
While I understand it’s not really the answer to your question, it might give your inspiration on how someone else did it:
Clear W3C Total Cache
No need to mess with SQL for this. WordPress has dynamic (formed from variables rather than hardcoded) hooks for changes in post status. See Post Status Transitions in Codex.
With these you can precisely hook to post of specific type changing to specific status.
I have written a post on my blog which directly answers this topic. My post covers in detail, how to install the code, how to use the code, and what the code does.
If you read my blog post, you will be able to easily, automatically clear caches on the WordPress action hook: save_post, from the WordPress plugin: W3 Total Cache.
Automatically clear all caches with W3 Total Cache
You have the following options for which caches to clear upon the WordPress action hook save_post: