Похоже, вы используете Discourse как провайдера единого входа (SSO) для WordPress. Этот подход описан здесь: Использование Discourse в качестве провайдера идентификации (SSO, DiscourseConnect). Плагин Discourse для WordPress предлагает варианты как использования WordPress в качестве провайдера SSO для Discourse, так и использования Discourse в качестве провайдера идентификации для WordPress. Использование одинаковых названий для обоих подходов вызывает некоторую путаницу.
В этом случае я бы рекомендовал использовать WordPress в качестве провайдера идентификации. При таком подходе пользователи создают учётные записи на вашем сайте WordPress, а затем входят в Discourse, используя учётные данные WordPress. Важно иметь в виду, что в этом случае пользователи смогут входить в Discourse только через WordPress; создать учётную запись в Discourse без наличия учётной записи в WordPress будет невозможно. На мой взгляд, это правильное решение при интеграции Discourse с сайтом WordPress, работающим по модели членства.
Когда WordPress используется в качестве провайдера идентификации для Discourse, существуют несколько вспомогательных функций, полезных для настройки принадлежности пользователей к группам Discourse на основе их активности в WordPress. Эти функции описаны здесь: Управление членством в группах Discourse с помощью WP Discourse SSO.
Вернёмся к вашему первоначальному вопросу:
Прошло довольно много времени с тех пор, как я изучал код клиента DiscourseConnect плагина WordPress, но, насколько я помню, то, что вы спрашиваете, в целом соответствует ожидаемому поведению этого кода. Если у пользователя есть учётная запись в Discourse, ему достаточно перейти по ссылке «Войти через Discourse» на сайте WordPress, и учётная запись для него будет создана автоматически.
Технически это возможно при использовании WordPress в качестве клиента DiscourseConnect, но, если ничего не изменилось, вы не сможете использовать методы add_user_to_discourse_group и remove_user_from_discourse_group, описанные в документации, на которую я ссылался. Вам потребуется настроить вебхук Discourse, который будет срабатывать при добавлении пользователя в группу Discourse, а затем добавить код на стороне WordPress для обработки этого вебхука. Для синхронизации групп из WordPress в Discourse потребуется делать API-запрос к Discourse для обновления групп пользователя при изменениях в WordPress. Таким образом, задача, которая была бы относительно простой при использовании WordPress в качестве провайдера DiscourseConnect, может оказаться довольно сложной при использовании WordPress в качестве клиента DiscourseConnect.