hm ok, então efetivamente
- Haveria um subconjunto de seus usuários com e-mails diferentes no WordPress e no Discourse.
- Seu nome de usuário é garantido como o mesmo, pois é fornecido pelo seu provedor de identidade para WordPress e Discourse.
Se fôssemos desacoplar o webhook de usuário WP Discourse da funcionalidade DiscourseConnect (possível), a correspondência de usuário ocorreria com base no e-mail, não no nome de usuário. Sua situação é um tanto específica para sua configuração de identidade.
Acho que este caso é melhor tratado por meio de código personalizado no seu WordPress. O que você quer é algo como isto:
function update_discourse_username( $user_login, $user ) {
update_user_meta( $user->ID, 'discourse_username', $user_login );
}
add_action( 'wp_login', 'update_discourse_username', 10, 2);
Basicamente, basta atribuir o campo meta discourse_username como o nome de usuário do WP após o login, pois eles são garantidos como iguais. Observe que “user_login” é o que o “nome de usuário” às vezes é chamado no código do WordPress.