Preenchendo discourse_username ao não usar DiscourseConnect

Existe uma espécie de solução existente para isso. O Discourse pode ser configurado para ser o provedor do DiscourseConnect para o WordPress (o oposto da configuração usual). É fácil de configurar. Quando habilitado, há uma configuração opcional que permite que contas do WordPress/Discourse sejam sincronizadas com base no endereço de e-mail do usuário.

Há até um link adicionado à página de perfil do usuário:


(editar: uma imagem pode ter legenda sem IA?)

Testando agora, clicar no link na página de perfil não está preenchendo o campo Nome de Usuário do Discourse. Deveria. Clicar no link “Entrar com Discourse” que pode ser adicionado à página de login faz com que o campo Nome de Usuário do Discourse seja atualizado automaticamente.

Acho que o objetivo da sincronização de contas é atualizar o campo Nome de Usuário do Discourse de forma segura, então provavelmente vale a pena investigar o que está acontecendo com isso. Também parece haver um problema em que contas que têm um endereço de e-mail “não verificado” no WordPress podem sincronizar suas contas com o Discourse. Isso provavelmente não deveria ser permitido por padrão.

Para o seu caso, você pode não querer permitir que os usuários façam login no WordPress via Discourse. Deve ser possível apenas usar o link na página de perfil para permitir que os usuários sincronizem suas contas para que o campo Nome de Usuário do Discourse seja preenchido automaticamente. Você não deveria ter que habilitar o login no WordPress via Discourse para que isso funcione.

Uma desvantagem possível dessa abordagem é que os usuários terão que iniciá-la. Não forneceria um botão que os administradores pudessem clicar para obter o nome de usuário do Discourse de um usuário.