WPIntell

Source evidence

Restrict admin bar purge icon?

LiteSpeed Cache · support · 2026-06-04T09:49:00+00:00

complaintsentiment
mediumseverity
0.75relevance
1replies
Evidence linked to opportunitycommercial context

Proof Health

Open evidence

Commercial opportunities need traceable source links before they are treated as build-worthy.

5 / 34 rows with source links

14.7% of this page's analysis has direct source links.

0 build-decision rows missing links

0 rows here require auditable proof before promotion.

29 rows with no attached evidence

0 rows have source counts but still need direct links.

Conversation

support
garcia2 unresolved
Does anyone know if we can hide the top admin bar purge all button for specific user roles like authors? I wanna keep it for admins but stop normal writers from randomly clearing the entire cache. Any tips? @garcia2 Try this code(I added in theme functions.php ): add_action( 'admin_bar_menu', 'lsc_remove_bar_menu', 99999 ); add_action( 'wp_before_admin_bar_render', 'lsc_remove_bar_menu', 99999 ); function lsc_remove_bar_menu( $admin_bar ) { global $wp_admin_bar; // Roles that should LOSE the purge controls. $hide_for_roles = array( 'editor', 'shop_manager' ); $user = wp_get_current_user(); if ( ! array_intersect( $hide_for_roles, (array) $user->roles ) ) { return; // not a targeted role -> leave everything } if ( $wp_admin_bar->get_node( 'litespeed-menu' ) ) { $wp_admin_bar->add_node( array( 'id' => 'litespeed-menu', // existing args are kept (merge) 'href' => admin_url( 'admin.php?page=litespeed' ), ) ); } // Remove every purge entry (covers both admin + front-end node ids). $purge_nodes = array( 'litespeed-purge-all', // 'litespeed-purge-all-lscache', // 'litespeed-purge-cssjs', // 'litespeed-purge-cloudflare', // 'litespeed-purge-object', // 'litespeed-purge-opcache', // 'litespeed-purge-ccss', // 'litespeed-purge-ucss', // 'litespeed-purge-localres', // 'litespeed-purge-placeholder', // 'litespeed-purge-vpi', // 'litespeed-purge-avatar', // 'litespeed-purge-single', // 'litespeed-purge-single-ucss', // 'litespeed-single-action', ); foreach ( $purge_nodes as $id ) { $wp_admin_bar->remove_node( $id ); } }

Comments

1 shown
litetim 2026-06-04T19:39:00+00:00

@garcia2 Try this code(I added in theme functions.php ): add_action( 'admin_bar_menu', 'lsc_remove_bar_menu', 99999 ); add_action( 'wp_before_admin_bar_render', 'lsc_remove_bar_menu', 99999 ); function lsc_remove_bar_menu( $admin_bar ) { global $wp_admin_bar; // Roles that should LOSE the purge controls. $hide_for_roles = array( 'editor', 'shop_manager' ); $user = wp_get_current_user(); if ( ! array_intersect( $hide_for_roles, (array) $user->roles ) ) { return; // not a targeted role -> leave everything } if ( $wp_admin_bar->get_node( 'litespeed-menu' ) ) { $wp_admin_bar->add_node( array( 'id' => 'litespeed-menu', // existing args are kept (merge) 'href' => admin_url( 'admin.php?page=litespeed' ), ) ); } // Remove every purge entry (covers both admin + front-end node ids). $purge_nodes = array( 'litespeed-purge-all', // 'litespeed-purge-all-lscache', // 'litespeed-purge-cssjs', // 'litespeed-purge-cloudflare', // 'litespeed-purge-object', // 'litespeed-purge-opcache', // 'litespeed-purge-ccss', // 'litespeed-purge-ucss', // 'litespeed-purge-localres', // 'litespeed-purge-placeholder', // 'litespeed-purge-vpi', // 'litespeed-purge-avatar', // 'litespeed-purge-single', // 'litespeed-purge-single-ucss', // 'litespeed-single-action', ); foreach ( $purge_nodes as $id ) { $wp_admin_bar->remove_node( $id ); } }