Improve website performance by caching individual page fragments (widgets, menus output and long loops).
Adds ability to cache particular sections of your site. This plugin is for people who can't use a full page cache or for sites with lots of pages and with frequent changes. It can cache entire loops with the WP_Query(bypassing the database queries) or only the html output of the loop and if the query results has changed(comment added, post was edited, postmeta has changed ...) the cache will be invalidated and regenerated.
<?php if ( ! WP_Fragment_Cache::output( $wp_query_or_blockname, $duration ) ): ?> //content to be cached <?php WP_Fragment_Cache::store(); ?> <?php endif; ?>
$wp_query_or_blockname (mixed/string) (optional) a WP_Query(WP_Comment_Query) result or a string. Default: the file and the line where the call was initiated(e.g. widgets/most-commented.php:18).
$duration (int/string) (optional) Defines how many seconds to keep the cache for. If you pass 0 the cache will not expire. If you pass the string "only_today" the cache will expire at the end of the current day. You can use WordPress Time Constants. Default: 86400 (one day).
See the wiki pages on GitHub