Par défaut même un administrateur d’un multisite ne peut modifier le contenu de la page « politique de confidentialité ». Voici un bout de code qui va arranger les choses en comparant les capacités des utilisateurs.
if (is_user_logged_in()):
add_action('map_meta_cap', 'custom_manage_privacy_options', 1, 4);
endif;
function custom_manage_privacy_options($caps, $cap, $user_id, $args)
{
if (!is_user_logged_in()) return $caps;
$user_meta = get_userdata($user_id);
if (array_intersect(['editor', 'administrator'], $user_meta->roles)) {
if ('manage_privacy_options' === $cap) {
$manage_name = is_multisite() ? 'manage_network' : 'manage_options';
$caps = array_diff($caps, [ $manage_name ]);
}
}
return $caps;
}
Be First to Comment