Disable WordPress cache programmatically on a request

How do I turn off the WP Super Cache & W3 Total Cache functionality programmatically? For instance, I neither want to make it use the cache on some requests nor cache the output of the request, do they support that using filters? I couldn’t find anything useful in their documentation.

Related posts

Leave a Reply

3 comments

  1. Easiest way to do this was to define a constant programmatically:

    // Tell WP Super Cache & W3 Total Cache to not cache WPReadable requests
    define( 'DONOTCACHEPAGE', true );
    
  2. Both plugins you mention have settings pages that allow you to add directories or specific files to not cache.

    These setting files are saved as text files in the relevant directory. You should be able to programatically ‘append’ your /mobile-theme/ directory to these settings files.

  3. As per this question, you can use fragment caching to exclude specific things from being cached:

    Edit your templates to with the following syntax to ensure that
    dynamic features remain so: Example 1:

    <!-- mfunc any PHP code --><!-- /mfunc -->
    

    Example 2:

    <!-- mfunc -->any PHP code<!-- /mfunc -->
    

    Example 3:

    <!--MFUNC           -->
                                          echo rand();
    <!--/mfunc -->
    

    Example 4:

    <!-- mclude path/to/file.php --><!-- /mclude -->
    

    Example 5:

    <!-- mclude -->path/to/file.php<!-- /mclude -->