cURLリクエストの問題は何ですか?

Utilities ファイルにそのためのヘルパー関数があります。

DiscourseUtilities::sync_sso_record( $sso_params );

昨日、その使い方を例示しました: I cannot add user to the discouse forum from a wordpress website when user added in a membership - #10 by simon 引数の配列を作成するのが難しい部分です。その配列には external_id フィールドを含める必要があります。これはユーザーの WordPress ID に設定されます。

	$sso_params = array(
		'external_id' => $user_id,
	);

このリストにある任意のフィールドをペイロードに含めることができます: discourse/lib/discourse_connect_base.rb at 8f52fd1051e20fdff41321c5cff99fda05af86c1 · discourse/discourse · GitHub ACCESSORS リストのすぐ下にある BOOLS 配列に注意してください。これは、可能なオプションのうちどれが booleans (true/false) であるかを示しています。WordPress からリクエストを行う場合、ブール値フィールドは PHP の true または false 値ではなく、文字列 'true' または 'false' で設定する必要があります。

アバターを更新するには、$sso_params 配列で avatar_url フィールドを設定し、avatar_force_update フィールドを 'true' に設定します。

自己紹介を設定するために使用できる bio フィールドがあります。

WP Discourse プラグインは、すでに bio および avatar_url フィールドを設定しています。また、その SSO 設定に「Force Avatar Update」設定があります。問題は、これらの設定がユーザーが WordPress サイト経由で Discourse にログインしたときにのみ更新されることである可能性があります。sync_sso_record 関数は、ユーザーが Discourse にログインする必要なしに、フィールドを即座に更新します。

また、ユーザーの自己紹介が Discourse で設定されていないと思われる場合は、WordPress サイトでプラグインが期待している場所に設定されていない可能性があります: wp-discourse/lib/plugin-utilities.php at 99325e15190f3a705284dbf582f1c4b2c0b21492 · discourse/wp-discourse · GitHub に自己紹介用の別のフィールドがある場合は、そのフィールドにアクセスして sync_sso_record の呼び出しで使用できます。

「いいね!」 3