Necesito orientación en el siguiente asunto: una vez que un cliente registra una cuenta en nuestro sitio web de WordPress, se crea automáticamente en nuestra instancia de Discourse. Hemos desarrollado una función personalizada que permite a nuestros clientes “seguir” una publicación; lo que significa que presionarán un botón en nuestra publicación de WordPress y esto los suscribirá/seguirá automáticamente al tema de Discourse vinculado.
Esta función funciona bien cuando el cliente ha iniciado sesión una vez en la instancia de Discourse; pero cuando está “siguiendo” el tema en Discourse, pero no ha iniciado sesión en Discourse, no enviará correos electrónicos del tema seguido a la cuenta del usuario.
¿Alguien tiene una idea de cómo solucionar este problema? =)
La respuesta rápida es hacer que visitar Discourse una vez sea parte de la incorporación de sus clientes de alguna manera. ¿Quizás hay alguna información para nuevos clientes que pueda poner en su Discourse a la que se les dirigirá al registrarse en el lado de Wordpress?
Entonces, si te he entendido correctamente, ¿es obligatorio que el usuario registrado deba visitar el foro antes de poder recibir alguna confirmación por correo electrónico?
Supongo que estás utilizando el plugin WP Discourse para autenticar usuarios en tu sitio de Discourse. Lo que intentas hacer debería funcionar. Dado que funciona para los usuarios que han iniciado sesión en Discourse una vez, la causa del problema podría ser que el plugin WP Discourse no marca los correos electrónicos de los usuarios como “verificados” cuando se registran en tu sitio de WordPress. Si ese es el caso, los usuarios tendrán que responder a un correo electrónico de activación que Discourse les envía la primera vez que inician sesión en Discourse a través de tu sitio de WordPress. Discourse no activará al usuario hasta que haya hecho clic en el enlace de ese correo electrónico de activación.
Para confirmar que ese es el caso, echa un vistazo a la sección “DiscourseConnect Single Sign On” de la página de usuario de Discourse para un usuario que haya creado recientemente una cuenta. Haz clic en el botón “Mostrar” para el campo Última carga útil y comprueba si el parámetro require_activation está establecido en true.
Por si acaso, otra cosa que podrías comprobar sería asegurarte de que los usuarios de Discourse se creen realmente cuando se registran por primera vez en tu sitio de WordPress. La forma más probable de que esto se haga sería teniendo habilitada la opción “Crear o sincronizar usuarios de Discourse al iniciar sesión” de WP Discourse:
¿Puedes comprobar si esa opción está habilitada y si los usuarios se crean correctamente en Discourse cuando se registran en tu sitio de WordPress?
Puedo investigar esto más a fondo si eso no resuelve el problema. Desafortunadamente, la conexión entre mis sitios locales de Discourse y WordPress no está funcionando actualmente. Cualquier respuesta que el sitio de WordPress recibe de Discourse devuelve el error: cURL error 61: Unrecognized content encoding type. libcurl understands deflate, gzip, br content encodings. Estoy bastante seguro de que esto solo está relacionado con la configuración de mi servidor local. Llevaba tiempo queriendo solucionar esto. Investigaré qué está pasando con eso más tarde hoy.
Editar: Encontré una solución temporal para que mis sitios locales de WordPress y Discourse se conecten. Con la opción “Crear o sincronizar usuarios de Discourse al iniciar sesión” de WP Discourse habilitada, ahora puedo registrar un usuario en mi sitio de WP, hacer que se cree automáticamente una cuenta de Discourse para ellos y configurar al usuario para que reciba notificaciones por correo electrónico para un tema a través de la API. No estoy seguro de qué podría estar causando el problema en tu sitio. Como referencia, aquí tienes un ejemplo de llamada a la API que estoy haciendo. El Api-Username en la solicitud está configurado como el nombre de usuario de Discourse del usuario que desea recibir notificaciones: