Skip to content

Instantly share code, notes, and snippets.

@ihorvorotnov
Forked from westonruter/gist:5475349
Last active August 29, 2015 14:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ihorvorotnov/d70e89fcae2b290c6bd4 to your computer and use it in GitHub Desktop.
Save ihorvorotnov/d70e89fcae2b290c6bd4 to your computer and use it in GitHub Desktop.
<?php
/*
Usage:
cache_fragment_output( 'unique-key', 3600, function () {
functions_that_do_stuff_live();
these_should_echo();
});
*/
function cache_fragment_output( $key, $ttl, $function ) {
$group = 'fragment-cache';
$output = wp_cache_get( $key, $group );
if ( empty($output) ) {
ob_start();
call_user_func( $function );
$output = ob_get_clean();
wp_cache_add( $key, $output, $group, $ttl );
}
echo $output;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment