Tengo un sitio de membresía en WordPress que utiliza MemberPress para gestionar el acceso.
Hemos creado un foro en Discourse e instalado el plugin wp-discourse para conectarlos.
Sin embargo, no encuentro documentación que describa cómo se accede normalmente al foro desde el sitio de WordPress. No quiero que los usuarios sean redirigidos al foro tras iniciar sesión, pero asumo que puedo agregar un enlace en el menú, con un texto para quienes no han iniciado sesión y otro texto con el enlace al foro visible solo para quienes han iniciado sesión y tienen el nivel de membresía adecuado.
Agradecería cualquier orientación al respecto. He notado que en varias configuraciones del plugin parece que los posts podrían incrustarse en el sitio de WordPress, pero no encuentro una explicación clara de cómo sería eso.
Sí
He seguido las partes que parecen aplicables. Todavía no veo información sobre cómo conectar el foro a un sitio web… Supongo que solo hay que añadirlo como un enlace en el menú.
He intentado configurarlo de modo que el sitio de WordPress sea el SSO para el foro, pero necesito probar más porque cuando entro al foro como un usuario que tiene una cuenta con el mismo nombre de usuario en el foro, aún me pide que inicie sesión en el foro.
Sería bueno ver un ejemplo de un sitio web que esté enlazado a un foro de Discourse.
¡Gracias!
Evelyn
Si utilizas el plugin para publicar entradas desde WordPress a Discourse, puedes agregar un enlace al tema de Discourse asociado en cada entrada de WordPress. Para ello, selecciona “Activar comentarios de Discourse” en la pestaña de configuración de Comentarios del plugin. Al seleccionar esa opción, tendrás la posibilidad de mostrar los comentarios de Discourse debajo de la entrada o simplemente mostrar un enlace a los comentarios.
Cuando SSO está habilitado, los enlaces a temas de Discourse serán, por defecto, enlaces de inicio de sesión SSO. Esto significa que cuando un usuario haga clic en el enlace, será llevado automáticamente a través del proceso de inicio de sesión SSO y luego redirigido al tema de Discourse como un usuario conectado.
Puedes agregar un enlace a tu foro en el menú de tu sitio de WordPress. Cuando SSO está habilitado, puedes estructurar el enlace para que los usuarios pasen por el proceso de inicio de sesión SSO al hacer clic en él. Consulta Create a DiscourseConnect login link para obtener detalles sobre cómo estructurar el enlace. Para agregar un enlace de este tipo en WordPress, debes añadir un “Enlace personalizado” al menú:
El ejemplo de mi captura de pantalla iniciará sesión de los usuarios en Discourse y los redirigirá a la página principal del foro cuando hagan clic en el enlace “foro”. Para crear un enlace que redirija a los usuarios a una página específica de tu foro, agrega un parámetro de consulta return_path a la URL. Por ejemplo: http://localhost:3000/session/sso?return_path=http://localhost:3000/c/fun.
Si quiero usar mi URL real (subdominio) para el foro en lugar de la URL de localhost, ¿también funcionará?
Es poco probable que usemos publicaciones de WordPress para ir a Discourse, sino que simplemente tendremos un enlace que lleve a los miembros al foro, pero queremos que ya hayan iniciado sesión cuando lleguen allí.
Entonces, ¿significa eso que en este caso no se aplicarán todas las configuraciones para comentarios y publicaciones, etc.? Solo queremos proteger el acceso al foro usando nuestro plugin de membresía. No será necesario sincronizar comentarios y publicaciones.
El ejemplo que di no fue tan claro como podría haber sido. Lo editaré esta semana. El dominio localhost:3000 es el dominio de mi sitio de desarrollo local. Debes reemplazar ese dominio con el dominio real de tu foro. Por ejemplo, https://foro.ejemplo.com/session/sso
Si este es el caso, entonces no necesitas configurar ninguna de las opciones de Comentarios o Publicación.
Cuando SSO está habilitado, todos los usuarios de tu sitio de WordPress podrán iniciar sesión en tu foro de Discourse. Si tienes usuarios en WordPress a los que no se les debe permitir crear cuentas en Discourse, necesitarás agregar algo de código a un plugin o al tema de tu sitio. El tema proporciona detalles sobre cómo lograrlo: How to prevent some WP users from being able to login to Discourse.
Solo quiero que vaya al nivel superior. Más adelante podría elegir una página específica de Discourse.
Me aseguré de dejar marcada la casilla para permitir el inicio de sesión directo.
Actualmente, cuando inicio sesión desde el sitio de WordPress o desde el propio foro, me devuelve al sitio de WordPress.
Hola Simon,
Hemos notado que los usuarios con privilegios de administrador en Discourse no ven esos permisos al iniciar sesión a través de SSO. Uno de mis colaboradores puede iniciar sesión con el proceso de SSO, pero no ve sus privilegios de administrador. Yo no puedo iniciar sesión en absoluto; todavía estoy investigando la causa.
¿Existe alguna forma de permitir que los administradores inicien sesión directamente en Discourse fuera de SSO para que puedan gestionar el sitio? ¿O asegurar que tengan todos sus privilegios de Discourse cuando inicien sesión a través del inicio de sesión SSO en el sitio web?
Sí, si te bloqueas el acceso a Discourse al configurar SSO, ve a http://forum.example.com/u/admin-login. (Reemplaza forum.example.com con el dominio de tu foro.) Ingresa tu dirección de correo electrónico en el formulario de la página y haz clic en el enlace que recibirás en el correo electrónico.
Una vez que hayas vuelto a iniciar sesión en el sitio, verifica si se creó una nueva cuenta para él. Para iniciar sesión en una cuenta existente en Discourse, debes usar la misma dirección de correo electrónico en WordPress que la que usas para la cuenta de Discourse.
Consulta Debug and fixing common DiscourseConnect issues para ver si te da alguna pista para resolver tus problemas con SSO. Los problemas que estás experimentando probablemente estén relacionados con lo descrito en la sección ‘Resolución de problemas de inicio de sesión con SSO que requieren activación’ de ese tema. No creo que tu sitio esté utilizando el sistema de registro predeterminado de WordPress, por lo que las nuevas cuentas creadas desde que instalaste el complemento WP Discourse tendrán la bandera require_activation establecida en true en la carga útil de SSO.