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.