What hooks to hook onto for automatic cache clearing

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.

Read More

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!

Related posts

Leave a Reply

3 comments

  1. I only want the cache to be cleared when posts are updated, deleted or added

    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.

  2. 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:

    $this->clear_db_caches();
        Calls the W3TC function: w3tc_dbcache_flush();
        Clears the DB caches completely. Note: Doesn’t clear MySQL Query Cache, just WP based DB caches.
    $this->clear_minify_caches();
        Calls the W3TC function: w3tc_minify_flush();
        Clears the minified content caches completely.
    $this->clear_object_caches();
        Calls the W3TC function: w3tc_objectcache_flush();
        Clears the object caches completely.
    $this->clear_page_caches();
        Calls the W3TC function: w3tc_pgcache_flush();
        Clears the Page Cache completely.
    $this->clear_all_caches();
        Calls each of the W3TC functions in one instance.
        Attempts to clear all W3TC caches completely.