Оставляю себе заметку здесь, связанную с 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. Если включена опция Создание или синхронизация учётных записей Discourse при входе в плагине WP 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;
}
Я ставлю себе напоминание обновить исходный пост, добавив эти детали.