能否为 WordPress 插件 sso 更新用户头像?

@cmdntd :slight_smile:

听起来您是通过 WP Discourse 插件将 Discourse 设置为 WordPress 的 DiscourseConnect 提供商,对吗?

WordPress 本身并不原生支持自定义用户头像。您需要使用一个 WordPress 头像插件。这也是为什么 WP Discourse 插件没有直接提供一个设置项,以便在 Discourse 作为 DiscourseConnect 提供商时同步 Discourse 头像的原因之一,因为自定义头像的处理方式取决于 WordPress 如何实现此类自定义功能。

不过,WP Discourse 插件提供了一个过滤器,您可以使用它来访问 Discourse 头像 URL:wpdc_sso_client_updated_user。每当用户通过 DiscourseConnect 登录 WordPress 时,该过滤器都会被应用。

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 作为 DiscourseConnect 提供商时,将 WordPress 用户的头像设置为其 Discourse 头像。

2 个赞