# Заполнение discourse\_username при отсутствии DiscourseConnect

**URL:** <https://meta.discourse.org/t/filling-in-discourse-username-when-not-using-discourseconnect/212741>\
**Category:** WordPress\
**Created:** [21.Декабрь.2021 03:24:03 UTC](https://meta.discourse.org/t/filling-in-discourse-username-when-not-using-discourseconnect/212741 "2021-12-21T03:24:03Z")\
**Posts on this page:** 1\
**Showing post:** 3

<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:** [22.Декабрь.2021 03:54:38 UTC](https://meta.discourse.org/t/filling-in-discourse-username-when-not-using-discourseconnect/212741/3 "2021-12-22T03:54:38Z")

</div>

Хм, хорошо, то есть по сути:

1. У части ваших пользователей будут разные адреса электронной почты в WordPress и Discourse.
2. Ваше имя пользователя гарантированно будет одинаковым, так как оно предоставляется вашим провайдером идентификации как для WordPress, так и для Discourse.

Если бы мы разделили веб-хук пользователя [WP Discourse](https://github.com/discourse/wp-discourse) от функциональности [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) (это возможно), то сопоставление пользователей происходило бы на основе адреса электронной почты, а не имени пользователя. Ваша ситуация несколько специфична для вашей настройки идентификации.

Я думаю, что этот случай лучше обрабатывать с помощью пользовательского кода в WordPress. То, что вам нужно, выглядит примерно так:

```plaintext
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);

```

По сути, просто присваивайте поле мета-данных `discourse_username` имени пользователя WP после входа, так как они гарантированно совпадают. Обратите внимание, что “user\_login” — это то, как иногда называют “username” в коде WordPress.

---

_[View the full topic](https://meta.discourse.org/t/filling-in-discourse-username-when-not-using-discourseconnect/212741)._
