Merci Angus ! Et pas de souci pour le retard.
Désolé pour la confusion ! Oui, fuseau horaire local, et oui, le comportement standard de Discourse est excellent. Comme vous le soulignez, ce n’est pas Discourse qui pose problème, c’est WP qui n’a pas la capacité de permettre aux utilisateurs de voir le site dans leur fuseau horaire local. C’est ce que nous voulons ajouter. Si nous laissons l’utilisateur définir son fuseau horaire, j’ai alors pensé que nous devrions également avoir ce paramètre qui remplace le paramètre de Discourse afin qu’ils soient synchronisés. C’est ce que je voulais savoir si DiscourseConnect le fournissait. Il semble que non.
Ce que je n’avais pas réalisé, c’est que le paramètre Discourse est automatique. Si tel est le cas, nous pourrions simplement le laisser tel quel. C’est-à-dire implémenter le fuseau horaire local dans WP, et ne pas laisser cette valeur remplacer la valeur Discourse. Oui, ils pourraient se désynchroniser, mais cela pourrait ne pas être un problème pour la plupart des utilisateurs.
Vous pouvez synchroniser un emplacement défini dans un profil utilisateur Wordpress avec le champ d’emplacement dans le profil de l’utilisateur sur Discourse. Il ne se synchronise pas par défaut car il n’existe pas de champ standard dans Wordpress qui soit équivalent au champ d’emplacement dans Discourse.
Parfait, c’est la pièce d’information manquante - je ne savais pas d’où DiscourseConnect était censé obtenir les données d’emplacement du côté WP. Nous avons implémenté notre propre champ d’emplacement manuellement, dans usermeta, nous pouvons donc simplement extraire la valeur de là en utilisant le hook wpdc_sso_params.
Je suis lent, donc je l’ai probablement négligé. Y a-t-il de la documentation pour wpdc_sso_params quelque part ? J’ai trouvé ce fil, qui semble le couvrir pour l’instant :
You can update User Fields that you have created on Discourse via SSO. This does not require a plugin. To do this, you need to know the name that Discourse uses in the database for the custom field. The easiest way I know of to do this is by going to your Admin / Customize / User Fields page and then loading the JSON version of the page. For example https://forum.example.com/admin/customize/user_fields.json The JSON data of the page will look something like this: { user_fields: [ { id: 12, nam…