You can try to use remove_menu_page()
, so you code example would be like:
function hide_w3tc() {
if (!current_user_can('manage_network')) {
remove_menu_page('w3tc_dashboard');
}
}
add_action( 'admin_menu', 'hide_w3tc',11);
where we use a priority greater than the default of 10
, since the W3TC menu page is added via
add_menu_page('Performance', 'Performance', 'manage_options', 'w3tc_dashboard', '', 'div');