Hey @troygrady, 답장이 늦어서 죄송합니다 (저는 WP Discourse 플러그인 관련 질문을 담당하고 있습니다). 시간대와 위치 설정은 서로 무관하므로 별도로 답변드리겠습니다.
시간대
사용자의 활동이 사용자 자신의 현지 시간으로 표시되기를 원한다는 의미인지 확인해 주실 수 있을까요? 그렇다면 워드프레스와 달리, Discourse에서는 현재 이것이 기본 동작입니다(DiscourseConnect를 사용하지 않아도). 사용자가 설정하지 않은 경우 자동으로 업데이트됩니다. 예를 들어, 저는 최근에 Australia/Perth 시간대에서 Europe/Oslo 시간대로 변경했습니다. 메타 사이트에서 제 프로필의 시간대 설정을 건드리지 않았는데, 이제 다음과 같이 표시됩니다.
이와 다른 동작을 원하시나요?
위치
워드프레스 사용자 프로필에서 설정한 위치를 Discourse 사용자 프로필의 위치 필드와 동기화할 수 있습니다. 워드프레스에는 Discourse의 위치 필드에 해당하는 표준 필드가 없기 때문에 기본적으로 동기화되지 않습니다. 여기에서 일부 코드를 추가해야 합니다. 테마의 functions.php 파일이나 코드를 추가할 수 있는 다른 위치에 다음과 같은 코드를 추가해야 하며, 핵심 부분은 wpdc_sso_params 필터의 사용입니다.
function sync_discourse_location( $params, $user ) {
$location = get_user_meta( $user->ID, 'user_location_meta', true );
if ( $location ) {
$params['location'] = $location;
}
return $params;
}
add_filter( 'wpdc_sso_params', 'sync_discourse_location', 10, 2 );
'user_location_meta’는 워드프레스 인스턴스에서 사용자 위치를 저장하는 데 사용되는 사용자 메타 필드(즉, 워드프레스에 사용자 위치를 추가하는 데 사용되는 플러그인이 사용하는 필드)로 대체해야 한다는 점에 유의하세요.
또한 Discourse의 위치 필드는 단순히 “문자열” 필드라는 점에 유의하세요. 이는 입력된 내용을 그대로 문자 그대로 표시할 뿐이며, 사용자의 시간대에 영향을 주지 않고 지리적 위치(즉, 지도와 연결됨)도 아닙니다.
