ManageWP: how to clear and preload WP Rocket cache

You can clear and preload WP Rocket cache from your ManageWP control panel.

To do it, you can use the following snippet. 

<?php 

// ManageWP PHP Snippet, will clear the cache and trigger a preload. 
// related doc: https://docs.wp-rocket.me/article/1320-managewp-how-to-clear-wp-rocket-cache
// Load WordPress environment.
require 'wp-load.php';

// Define some constants.
if ( ! defined( 'COOKIEHASH' ) ) {
	$siteurl = get_site_option( 'siteurl' );
	if ( $siteurl ) {
		define( 'COOKIEHASH', md5( $siteurl ) );
	} else {
		define( 'COOKIEHASH', '' );
	}
}
if ( ! defined( 'LOGGED_IN_COOKIE' ) ) {
	define( 'LOGGED_IN_COOKIE', 'wordpress_logged_in_' . COOKIEHASH );
}

// Instatiate the WP_Rewrite class and store it in $wp_rewrite.
$GLOBALS['wp_rewrite'] = new WP_Rewrite();


// Load WP Rocket environment.
require 'wp-content/plugins/wp-rocket/wp-rocket.php';
require 'wp-content/plugins/wp-rocket/inc/functions/i18n.php';
require 'wp-content/plugins/wp-rocket/inc/functions/formatting.php';
require 'wp-content/plugins/wp-rocket/inc/functions/options.php';
require 'wp-content/plugins/wp-rocket/inc/functions/api.php';
require 'wp-content/plugins/wp-rocket/inc/3rd-party/3rd-party.php';

// Clear the cache.
if ( function_exists( 'rocket_clean_domain' ) ) {
	
	// clear the files
	rocket_clean_domain();
	
	// set the jobs to pending in the wpr_rocket_cache table
	$GLOBALS['wpdb']->query( "UPDATE {$GLOBALS['wpdb']->prefix}wpr_rocket_cache SET status = 'pending' WHERE status = 'completed'");

	echo 'Cache cleared and preload started';
}

Note, the rocket_clean_domain function will also trigger the Preload, if this feature is enabled.

This snippet needs to be added to ManageWP’s Code Snippet feature.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.