Skip to content

Instantly share code, notes, and snippets.

@eksiscloud
Forked from hiranthi/flush-redis-cache.php
Created July 14, 2020 17:01
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 eksiscloud/2bd5b131d3e989f073a0aaeb62a3563b to your computer and use it in GitHub Desktop.
Save eksiscloud/2bd5b131d3e989f073a0aaeb62a3563b to your computer and use it in GitHub Desktop.
<?php
# Check: https://onexa.nl/wordpress/toolbar-link-redis-object-cache/
/**
* Add a link to the Admin Toolbar to easily flush the Redis cache (Redis Object Cache plugin)
*
* @author Hiranthi Herlaar, onexa.nl
*
* @var $wp_admin_bar > https://codex.wordpress.org/Class_Reference/WP_Admin_Bar
**/
if ( ! isset( $GLOBALS[ 'redisObjectCache' ] ) ) {
$GLOBALS[ 'redisObjectCache' ] = Rhubarb\RedisCache\Plugin::instance();
}
if ( ! class_exists( 'RedisObjectCache' ) ) :
class RedisObjectCache {
public function get_redis_status() {
return Rhubarb\RedisCache\Plugin::instance()->get_redis_status();
}
}
endif;
function redis_add_toolbar_link( $wp_admin_bar )
{
if ( current_user_can( 'manage_options' ) && is_plugin_active( 'redis-cache/redis-cache.php' ) )
{
$RedisObjectCache = new RedisObjectCache;
if ( $RedisObjectCache->get_redis_status() )
{
$RedisPage = is_multisite() ? 'settings.php?page=redis-cache' : 'options-general.php?page=redis-cache';
// Flush Redis Cache trough WP Rocket Admin Bar Menu
$args = array(
'id' => 'flush-redis-cache',
'title' => __( 'Flush Redis Cache' ) . '',
'parent' => false,
'href' => wp_nonce_url( network_admin_url( add_query_arg( 'action', 'flush-cache', $RedisPage ) ), 'flush-cache' )
);
$wp_admin_bar->add_node( $args );
} // end REDIS
}
} // end add_toolbar_link
add_action( 'admin_bar_menu', 'redis_add_toolbar_link', 999 );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment