DiscourseConnect e fuso horário/localização do usuário

Olá @troygrady, desculpe pela demora na resposta (eu cuido das perguntas no plugin WP Discourse). Abordarei as configurações de fuso horário e localização separadamente (elas não estão conectadas).

Fuso horário

Você poderia apenas esclarecer se quer que a atividade do usuário seja exibida para ele em seu horário local? Se sim, ao contrário do Wordpress, esse é atualmente o padrão no Discourse (sem qualquer uso do DiscourseConnect) e será atualizado automaticamente se não for definido pelo usuário. Por exemplo, recentemente mudei do fuso horário Australia/Perth para Europe/Oslo. Não toquei na configuração de fuso horário no meu perfil aqui no meta, e agora aparece

Você quer um comportamento diferente disso?

Localização

Você pode sincronizar uma localização definida em um perfil de usuário do Wordpress com o campo de localização no perfil do usuário no Discourse. Não sincroniza por padrão, pois não há um campo padrão no Wordpress que seja equivalente ao campo de localização no Discourse. Você precisa adicionar algum código aqui. No arquivo functions.php do seu tema ou em outro local onde você pode adicionar código, você precisa adicionar algo como o seguinte, com a parte principal usando o filtro 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 );

Note que você precisará substituir ‘user_location_meta’ por qualquer campo de meta de usuário que esteja sendo usado para armazenar a localização do usuário em sua instância do Wordpress (ou seja, qualquer campo que esteja sendo usado pelo plugin que você está usando para adicionar localizações de usuário ao Wordpress).

Observe também que o campo de localização do Discourse é apenas um campo de “string”, o que significa que ele exibirá literalmente o que for inserido nele. Não tem efeito no fuso horário do usuário e não é geolocalização (ou seja, conectado com mapeamento de alguma forma).

1 curtida