Quiero crear automáticamente un usuario en Discourse cuando se produzca un nuevo registro en WordPress, pero no quiero darles acceso hasta que completen un formulario de solicitud.
Puedo utilizar las opciones de “sincronizar al iniciar sesión” y “aprobar usuarios manualmente” para lograr la mayor parte de esto, pero no sé cómo verificar si un usuario ha sido aprobado en Discourse.
¿Existe un campo de metadatos de usuario en WP que Discourse utilice para almacenar el estado de aprobación del usuario en Discourse? Si no es así, ¿necesito usar una API para obtener esa información de Discourse?
Mi objetivo: mostrar un botón en mi panel de control en WP con un enlace dinámico que cambie según el estado de aprobación.
Usuario no aprobado: el enlace dinámico dirige al formulario de solicitud en WP.
Usuario aprobado: el enlace dinámico dirige a la comunidad de Discourse.
He revisado varias publicaciones pero no encontré una solución. ¡Agradecería mucho su ayuda!
He descubierto cómo lograr esto escribiendo una consulta para el explorador de datos y llamándola mediante la API. Funciona bien, pero ahora estoy realizando una llamada entre dos sistemas, lo cual es obviamente más lento que tener los datos guardados en WordPress.
Si la carga de la página es lenta, usaría un hook para almacenar los datos de aprobación en un campo personalizado del usuario por mi cuenta. Antes de proceder, sería bueno saber si el plugin WP-Discourse ya lo hace.
Hola @Himanshu_Singh, la respuesta corta es que el plugin WP Discourse no almacena el estado de aprobación del usuario de Discourse.
Te sugiero que eches un vistazo a la acción wpdc_after_sync_sso, que se dispara después de que se sincroniza el registro del usuario cuando este inicia sesión en WordPress.