# Sincronização bidirecional entre nome de usuário do WP Discourse e nome de usuário do Discourse?

**URL:** <https://meta.discourse.org/t/two-way-sync-between-wp-discourse-username-and-discourse-username/220018>\
**Category:** WordPress\
**Created:** [Março 4, 2022, 12:53am UTC](https://meta.discourse.org/t/two-way-sync-between-wp-discourse-username-and-discourse-username/220018 "2022-03-04T00:53:36Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)\
**Post date:** [Março 4, 2022, 12:34pm UTC](https://meta.discourse.org/t/two-way-sync-between-wp-discourse-username-and-discourse-username/220018/5 "2022-03-04T12:34:04Z")

</div>

Algumas perguntas e algumas notas

> [@dbwhite](#):
>
> Nosso site pode ser um caso especial, pois não queremos que o nome de usuário do Wordpress do usuário seja sincronizado com o Discourse precisamente porque o Wordpress não permite que os usuários alterem seus nomes de usuário por padrão.

No entanto, eles serão os mesmos em novos cadastros, já que você está usando o [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true). Presumo que você esteja bem com isso e esteja apenas preocupado com a sincronização em si (ou seja, após a criação da conta)?

Como você está prevendo o caso em que um usuário cria uma conta no Wordpress e ainda não acessou o Discourse? Nenhuma conta do Discourse existirá. Nesse caso, o campo Nome de Usuário do Discourse não seria editável?

Observe que o webhook “Atualizar Dados do Usuário” (veja “Webhooks” nas configurações do [WP Discourse](https://github.com/discourse/wp-discourse)) atualizará o Nome de Usuário do Discourse no Wordpress quando ele for alterado no Discourse. Essa é uma parte da sincronização bidirecional que você está prevendo.

Portanto, especificamente o que você deseja é apenas que o plugin [WP Discourse](https://github.com/discourse/wp-discourse) atualize o nome de usuário do Discourse do usuário quando ele for alterado, sim?

Agora, esse campo é usado por pessoas diferentes para propósitos diferentes. Algumas pessoas querem poder editar esse campo sem atualizar o nome de usuário do usuário do Discourse associado à conta que eles usam com o [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true).

No entanto, há uma solução relativamente simples. Poderíamos apenas adicionar uma [ação](https://developer.wordpress.org/reference/functions/add_action/) em algum lugar perto de [aqui](https://github.com/discourse/wp-discourse/blob/main/admin/user-profile.php#L131) para que você possa usar uma solicitação PUT para o Discourse para atualizar o nome de usuário no Discourse, ou seja, como você está fazendo agora. Eu apenas adicionaria que a maneira fácil de fazer isso é usar o método abstraído [discourse\_request](https://github.com/discourse/wp-discourse/blob/main/lib/plugin-utilities.php#L364) nas Utilidades do Plugin WP, ou seja,

```plaintext
use WPDiscourse\\Utilities\\Utilities as DiscourseUtilities;
$path = ''
$args = array(
);
$response = DiscourseUtilities::discourse_request( $path, $args );

```

Usando o Webhook e o callback de ação, você teria uma sincronização bidirecional da maneira que está prevendo, assumindo que você considerou as duas perguntas que levantei acima.

Ficarei feliz em revisar e mesclar um PR com uma ação adicional nesse sentido.

---

_[View the full topic](https://meta.discourse.org/t/two-way-sync-between-wp-discourse-username-and-discourse-username/220018)._
