مزامنة ثنائية الاتجاه بين اسم مستخدم WP Discourse واسم مستخدم Discourse؟

بعض الأسئلة وبعض الملاحظات

ولكنها ستكون متطابقة عند التسجيلات الجديدة، حيث أنك تستخدم DiscourseConnect. أفترض أنك موافق على ذلك، وأنك قلق بشأن المزامنة بحد ذاتها (أي بعد إنشاء الحساب)؟

كيف تتصور الحالة التي ينشئ فيها المستخدم حساب ووردبريس ولم يسجل الدخول إلى Discourse بعد؟ لن يكون هناك حساب Discourse موجود. في هذه الحالة، لن يكون حقل اسم مستخدم Discourse قابلاً للتحرير؟

لاحظ أن خطاف الويب “تحديث بيانات المستخدم” (انظر “خطافات الويب” في إعدادات WP Discourse) سيقوم بتحديث اسم مستخدم Discourse في ووردبريس عند تغييره في Discourse. هذا هو أحد أجزاء المزامنة ثنائية الاتجاه التي تتصورها.

إذًا، هل ما تريده تحديدًا هو أن يقوم المكون الإضافي WP Discourse بتحديث اسم مستخدم Discourse للمستخدم عند تغييره، نعم؟

الآن، يستخدم هذا الحقل من قبل أشخاص مختلفين لأغراض مختلفة. يرغب بعض الأشخاص في أن يكونوا قادرين على تحرير هذا الحقل دون تحديث اسم مستخدم مستخدم Discourse المرتبط بالحساب الذي يستخدمونه مع DiscourseConnect.

ومع ذلك، هناك حل بسيط نسبيًا. يمكننا فقط إضافة action في مكان ما حول هنا حتى تتمكن من استخدام طلب PUT إلى Discourse لتحديث اسم المستخدم على Discourse، أي كما تفعل الآن. سأضيف فقط أن الطريقة السهلة للقيام بذلك هي استخدام طريقة discourse_request المجردة في أدوات المكون الإضافي WP، أي

use WPDiscourse\\Utilities\\Utilities as DiscourseUtilities;
$path = ''
$args =  array(
);
$response = DiscourseUtilities::discourse_request( $path, $args );

باستخدام كل من خطاف الويب ودالة رد النداء للإجراء، سيكون لديك مزامنة ثنائية الاتجاه بالطريقة التي تتصورها، بافتراض أنك قد أخذت في الاعتبار السؤالين اللذين طرحتهما أعلاه.

يسعدني مراجعة ودمج طلب سحب (PR) مع إجراء إضافي في هذا الاتجاه.

4 إعجابات