Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
add_action( 'wp_scheduled_delete', 'delete_expired_db_transients' );
function delete_expired_db_transients() {
if ( wp_using_ext_object_cache() ) { // magic
return;
}
global $wpdb;
$time = isset( $_SERVER['REQUEST_TIME'] ) ? (int) $_SERVER['REQUEST_TIME'] : time();
$expired = $wpdb->get_col( "SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE '_transient_timeout%' AND option_value < {$time};" );
foreach ( $expired as $transient ) {
$key = str_replace( '_transient_timeout_', '', $transient );
delete_transient( $key );
}
}
// by @rarst
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.