تركت لنفسي ملاحظة هنا تتعلق بـ https://meta.discourse.org/t/manage-group-membership-in-discourse-with-wp-discourse-sso/74724#restricting-access-to-discourse-when-a-membership-doesnt-exist-4. إذا تم تمكين خيار WP Discourse إنشاء أو مزامنة مستخدمي Discourse عند تسجيل الدخول، فسيتم إنشاء حسابات Discourse تلقائيًا لجميع المستخدمين في موقع WordPress، حتى لو تم منعهم من تسجيل الدخول إلى Discourse عبر الطريقة الموضحة في المنشور الأصلي. التفاصيل حول كيفية منع إنشاء الحسابات تلقائيًا للمستخدمين الذين ليس لديهم مستوى العضوية المناسب موجودة في الجزء الثاني من هذا المنشور: How to prevent some WP users from being able to login to Discourse - #2 by simon.
بشكل أساسي:
add_filter( 'wpdc_bypass_sync_sso', 'wpdc_custom_bypass_sync_sso', 10, 3 );
function wpdc_custom_bypass_sync_sso( $bypass_sync, $user_id, $user ) {
if ( /* شرط يعيد true إذا كان المستخدم لا يفي بمتطلبات العضوية */ ) {
$bypass_sync = true;
}
return $bypass_sync;
}
أقوم بتعيين تذكير لنفسي لتحديث المنشور الأصلي بهذه التفاصيل.