Quero criar um usuário automaticamente no Discourse quando houver um novo registro no WordPress, mas não quero dar a eles acesso antes de completarem um formulário de inscrição.
Consigo usar as configurações ‘sincronizar no login’ e ‘aprovar usuários manualmente’ para realizar a maior parte disso, mas não sei como verificar se o usuário foi aprovado no Discourse.
Existe um campo de meta do usuário no WordPress que o Discourse usa para armazenar o status de aprovação do usuário no Discourse? Se não, preciso usar uma API para obter essas informações do Discourse?
Meu objetivo: quero exibir um botão no meu painel no WordPress com um link dinâmico que muda conforme o status de aprovação ou não aprovação.
Usuário não aprovado: o link dinâmico direciona para o formulário de inscrição no WordPress.
Usuário aprovado: o link dinâmico direciona para a comunidade do Discourse.
Procurei em alguns posts, mas não encontrei uma solução. Agradeceria muito a ajuda!
Descobri como fazer isso criando uma consulta de explorador de dados e chamando-a via API. Funciona bem, mas agora estou fazendo uma chamada entre dois sistemas, o que, obviamente, é mais lento do que ter os dados salvos no WordPress.
Se o carregamento da página estiver lento, eu usaria um hook para armazenar os dados de aprovação em um campo personalizado do usuário por conta própria. Antes de prosseguir, seria bom saber se o plugin WP-Discourse já faz isso.
Olá @Himanshu_Singh, a resposta curta é que o plugin WP Discourse não armazena o status de aprovação do usuário do Discourse.
Sugiro que você dê uma olhada na ação wpdc_after_sync_sso, que é acionada após o registro do usuário ser sincronizado quando um usuário faz login no WordPress.