# Можно обновить аватар пользователя для плагина WordPress SSO?

**URL:** https://meta.discourse.org/t/could-you-update-user-avatar-for-wordpress-plugin-sso/204517
**Category:** WordPress
**Created:** [27.Сентябрь.2021 04:58:55 UTC](https://meta.discourse.org/t/could-you-update-user-avatar-for-wordpress-plugin-sso/204517 "2021-09-27T04:58:55Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![cmdntd](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cmdntd/32/192008_2.png) [@cmdntd](https://meta.discourse.org/u/cmdntd)
#### Post date: [27.Сентябрь.2021 04:58:56 UTC](https://meta.discourse.org/t/could-you-update-user-avatar-for-wordpress-plugin-sso/204517/1 "2021-09-27T04:58:56Z")

</div>

Плагин SSO работает отлично.  
Однако он не может синхронизировать аватары пользователей из Discourse с WordPress.  
Не могли бы вы добавить эту функцию?

---

<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: [28.Сентябрь.2021 03:51:07 UTC](https://meta.discourse.org/t/could-you-update-user-avatar-for-wordpress-plugin-sso/204517/2 "2021-09-28T03:51:07Z")

</div>

Привет @cmdntd 🙂

Получается, у вас Discourse настроен как провайдер [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true) для WordPress через плагин [WP Discourse](https://github.com/discourse/wp-discourse)? Так?

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

Однако плагин [WP Discourse](https://github.com/discourse/wp-discourse) предоставляет фильтр, с помощью которого можно получить URL аватара Discourse: `wpdc_sso_client_updated_user`. Этот фильтр применяется каждый раз, когда пользователь входит в WordPress через [DiscourseConnect](https://meta.discourse.org/t/13045?silent=true).

```plaintext
add_filter( 'wpdc_sso_client_updated_user', 'my_wpdc_sso_client_updated_user', 10, 2 );
function my_wpdc_sso_client_updated_user( $updated_user, $query ) {
	## используйте $query['avatar_url']
}

```

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

---

<div class="post-metadata">

### Author: ![cmdntd](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cmdntd/32/192008_2.png) [@cmdntd](https://meta.discourse.org/u/cmdntd)
#### Post date: [29.Сентябрь.2021 02:47:25 UTC](https://meta.discourse.org/t/could-you-update-user-avatar-for-wordpress-plugin-sso/204517/3 "2021-09-29T02:47:25Z")

</div>

Спасибо, это именно `Discourse Connect provider for Wordpress`. Я видел этот плагин:

> **[Simple Local Avatars](https://wordpress.org/plugins/simple-local-avatars/)**
>
> Adds an avatar upload field to user profiles. Generates requested sizes on demand just like Gravatar!

Но этот плагин также дает пользователям возможность менять аватар.  
**На самом деле, я не хочу, чтобы пользователи меняли свои аватары. Могу ли я заставить их использовать аватар из Discourse, запретив возможность его изменения?**

---

<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: [29.Сентябрь.2021 03:09:57 UTC](https://meta.discourse.org/t/could-you-update-user-avatar-for-wordpress-plugin-sso/204517/4 "2021-09-29T03:09:57Z")

</div>

Да, вы можете использовать этот плагин. Вам нужно будет использовать упомянутый мной фильтр для установки изображения аватара через discourse\_image\_url. Это решение специфично для плагина Simple Local Avatars и не будет включено напрямую в плагин [WP Discourse](https://github.com/discourse/wp-discourse).

Если вы не уверены, как реализовать эту интеграцию, вы можете обратиться к разработчикам плагина или нанять кого-нибудь в #Marketplace.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [29.Октябрь.2021 03:10:18 UTC](https://meta.discourse.org/t/could-you-update-user-avatar-for-wordpress-plugin-sso/204517/5 "2021-10-29T03:10:18Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
