شكرًا لك أنجوس! ولا تقلق بشأن التأخير.
آسف على الارتباك! نعم، المنطقة الزمنية المحلية، ونعم، السلوك القياسي لـ Discourse رائع. كما تشير، ليست Discourse هي المشكلة، بل WP التي لا تملك القدرة على السماح للمستخدمين برؤية الموقع في منطقتهم الزمنية المحلية. هذا ما نريد إضافته. إذا سمحنا للمستخدم بتعيين منطقته الزمنية، فقد فكرت في أنه يجب علينا أيضًا أن نجعل هذا الإعداد يتجاوز إعداد Discourse بحيث يكونان متزامنين. هذا ما أردت معرفته مما إذا كان DiscourseConnect يوفره. يبدو أنه لا يفعل.
ما لم أدركه هو أن إعداد Discourse تلقائي. إذا كان الأمر كذلك، فقد نتركه كما هو. أي، تنفيذ المنطقة الزمنية المحلية في WP، وعدم جعل هذه القيمة تتجاوز قيمة Discourse. نعم، قد يخرجان عن التزامن، ولكن قد لا يكون ذلك مشكلة كبيرة لمعظم المستخدمين.
يمكنك مزامنة موقع تم تعيينه في ملف تعريف مستخدم ووردبريس مع حقل الموقع في ملف تعريف المستخدم على Discourse. لا تتم المزامنة افتراضيًا لأنه لا يوجد حقل قياسي في ووردبريس يعادل حقل الموقع في Discourse.
ممتاز، هذه هي المعلومة المفقودة - لم أكن أعرف من أين يفترض أن يحصل DiscourseConnect على بيانات الموقع من جانب WP. لقد قمنا بتنفيذ حقل موقع خاص بنا يدويًا، في usermeta، لذلك يمكننا فقط سحب القيمة من هناك باستخدام خطاف wpdc_sso_params.
أنا غبي، لذلك ربما أغفلت ذلك. هل توجد وثائق لـ wpdc_sso_params في أي مكان؟ لقد وجدت هذا الموضوع، والذي يبدو أنه يغطيه في الوقت الحالي:
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…