Skip to content

Éditer la page politique de confidentialité par un éditeur / administrateur

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;
}

Source

Published inBackendMultisite

Be First to Comment

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *