I’ve got a community that does not want users to hide their profile or online presence. I don’t see a site setting to disable this. Is there a way to hide the checkbox on the user profile with CSS? It doesn’t seem to have a thingy that identifies just that field.
Even if it doesn’t, you can target it using numeric offsets in the CSS, conceptually "hide the third thing in this <div>" or whatever.
The only risk is that if the list later changes size, your offset will be incorrect.
This should work so long as it stays the last item on that list:
.user-preferences .control-group.other .controls:last-of-type {
display: none;
}
Beyond that, you can also remove it altogether by modifying the template. All you need is to use this:
<script type="text/x-handlebars" data-template-name="preferences/interface">
</script>
and copy / paste the contents of this file in there after removing line #43
If you modify the template and it’s updated in core, you need to update your template as well.
Thanks for the instructions, but we feel it’s quite a clumsy solution. Especially for those who are using common branches: the fixes can essentially break anytime. Any chance of having a proper CSS target for hiding the setting? Or even better, an admin setting to disallow the feature?
Agreed, can we make sure there is a proper css target here in the markup @awesomerobot?
A few sections in user preferences were missing classes, so I’ve added them here
You’ll be able to simplify to
.pref-hide-profile {
display: none;
}
Est-ce possible sur les communautés hébergées ?
C’est le cas : si vous allez dans admin > personnaliser > thèmes, vous pourrez ajouter le CSS ci-dessus à votre thème pour masquer le paramètre.
Est-il possible d’exécuter une requête via Data Explorer pour voir quels utilisateurs ont activé ce paramètre, autrement dit, les utilisateurs qui ont masqué leur profil public ?
Vous voudrez quelque chose comme :
SELECT user_id FROM user_options WHERE hide_profile_and_presence = true
