أستخدم إضافة تسمى Booster for WC، والتي تضيف وظائف إضافية إلى WooCommerce، بما في ذلك إمكانية اشتراط التحقق من البريد الإلكتروني قبل أن يتمكن المستخدم من الوصول إلى حسابه.
بعد أن ينقر المستخدم على الرابط في رسالة تفعيل حسابه، يتم نقله إلى صفحة /my-account/ في WordPress. إذا حاول شخص تسجيل الدخول باستخدام بيانات التسجيل الخاصة به دون النقر على رابط التحقق، يتم إخباره بأن حسابه يحتاج أولاً إلى التحقق، ويتم تزويده برابط يمكنه النقر عليه لـ “إعادة إرسال رسالة التحقق”.
إذا زرت صفحة “المستخدمين” في لوحة تحكم المسؤول، يمكنك بسهولة رؤية من تم التحقق من حساباته ومن لم يتم ذلك.
للأسف، بعد أن يتحقق المستخدم من بريده الإلكتروني ثم يحاول زيارة منتدياتنا على https://forums.pickleballist.com، لا يتم تسجيل دخوله تلقائيًا. ولكن أسوأ جزء هو أنه عند النقر على زر “تسجيل الدخول” في المنتديات، يُطلب منه التحقق من بريده الإلكتروني والنقر على رابط رسالة Discourse “أكد حسابك الجديد”.
هل هناك طريقة لجعل Discourse يتحقق من من هو مُتحقَّق فعليًا بناءً على البيانات الوصفية المستلمة من WooCommerce؟
أعتقد أن وحدة “التحقق من البريد الإلكتروني” هذه لا تتفاعل مع wp_new_user_notification، وإلا لكان Discourse قد رآها، أليس كذلك؟ هل يمكننا جعل Discourse يبحث عن خطاف آخر؟
طالما أن إضافة Booster for WC تمنع المستخدمين من تسجيل الدخول إلى WordPress قبل التحقق من عنوان بريدهم الإلكتروني، فإن هذا الكود آمن للاستخدام. عند إضافته إلى قالبك أو إلى إضافة، سيسمح للمستخدمين بتسجيل الدخول إلى موقع Discourse دون الحاجة إلى إعادة التحقق من عنوان بريدهم الإلكتروني.
هذا ممكن أيضًا. إذا كنت تعرف اسم مفتاح البيانات الوصفية الذي يتم تعيينه بواسطة WooCommerce والقيمة المتوقعة للمستخدمين الذين تم التحقق من عناوين بريدهم الإلكتروني، فيمكنك إضافة تحقق من ذلك إلى الدالة. شيء مثل هذا:
هذا الكود نجح! لم يعد على المستخدمين الآن سوى النقر على رابط التحقق الذي يولده ووردبريس. شكرًا لك!
لقد أضفت هذا للتو، لكن عندما يضغط المستخدم على رابط التحقق الذي يولده ووردبريس، يتم توجيهه ببساطة إلى صفحة /my-account في ووردبريس بعد التحقق. لا يتم إعادته إلى منتديات Discourse. ما هو السلوك المتوقع هنا؟
أعتقد أن رابط التحقق يتم إنشاؤه بواسطة إضافة Booster for WC. إذا كان الأمر كذلك، فهذا شيء لم أختبره. المشكلة التي تهدف إضافة wp-discourse-woocommerce-support إلى حلها هي تجاوز إعادة توجيه تسجيل الدخول التي يحددها WooCommerce في كل محاولة تسجيل دخول. لم أختبرها مع WooCommerce مؤخرًا، لكن في الماضي، عندما يتم تثبيت WooCommerce على موقع، كان يمنع المستخدمين غير المسجلين من إعادة التوجيه إلى Discourse عند محاولة تسجيل الدخول عبر WordPress.
السلوك المتوقع هو أنه عندما ينقر مستخدم غير مسجل في WordPress إما على زر تسجيل الدخول في Discourse، أو على رابط تسجيل الدخول SSO الذي تم إنشاؤه أسفل منشور تم نشره في Discourse، سيتم توجيه المستخدم عبر عملية تسجيل الدخول في WordPress ثم إعادة توجيهه إلى عنوان URL الصحيح في Discourse. أخبرني إذا لم يكن هذا يعمل بشكل صحيح للمستخدمين الذين قاموا بالتحقق من عناوين بريدهم الإلكتروني.
قد يكون من الممكن جعل هذا يعمل مع رابط التحقق الذي ينقر عليه مستخدموك، لكنني أعتقد أن هذه قضية منفصلة.