Ho bisogno di una guida in merito alla seguente questione: una volta che un cliente registra un account sul nostro sito web WordPress, questo viene creato automaticamente sulla nostra istanza Discourse. Abbiamo sviluppato una funzionalità personalizzata che consente ai nostri clienti di “seguire” un post; ciò significa che premeranno un pulsante sul nostro post di WordPress e questo li iscriverà/li farà seguire automaticamente all’argomento Discourse collegato.
Questa funzionalità funziona bene quando il cliente ha effettuato l’accesso una volta all’istanza Discourse; ma quando sta “seguendo” l’argomento su Discourse, ma non ha effettuato l’accesso su Discourse, non invierà alcuna email all’account utente dell’argomento seguito.
Qualcuno ha un’idea su come risolvere questo problema? =)
La risposta rapida è rendere la visita a Discourse una parte del processo di onboarding dei clienti. Forse ci sono alcune informazioni per i nuovi clienti che puoi inserire nel tuo Discourse a cui verranno indirizzati al momento dell’iscrizione sul lato Wordpress?
Presumo che tu stia utilizzando il plugin WP Discourse per autenticare gli utenti sul tuo sito Discourse. Quello che stai cercando di fare dovrebbe funzionare. Dato che funziona per gli utenti che hanno effettuato l’accesso a Discourse una volta, la causa del problema potrebbe essere che le email degli utenti non sono contrassegnate come “verificate” dal plugin WP Discourse quando si registrano sul tuo sito WordPress. In tal caso, gli utenti dovranno rispondere a un’email di attivazione che viene loro inviata da Discourse la prima volta che accedono a Discourse tramite il tuo sito WordPress. Discourse non attiverà l’utente finché non avrà fatto clic sul collegamento in quell’email di attivazione.
Per confermare che sia così, dai un’occhiata alla sezione “DiscourseConnect Single Sign On” della pagina utente di Discourse per un utente che ha recentemente creato un account. Fai clic sul pulsante “Mostra” per il campo Ultimo payload e verifica se il parametro require_activation è impostato su true.
Per sicurezza, un’altra cosa da controllare sarebbe assicurarsi che gli utenti di Discourse vengano effettivamente creati quando si registrano per la prima volta sul tuo sito WordPress. Il modo più probabile in cui ciò viene fatto sarebbe avere abilitata l’opzione “Crea o sincronizza utenti Discourse al momento del login” di WP Discourse:
Puoi verificare se tale opzione è abilitata e se gli utenti vengono creati con successo su Discourse quando si registrano sul tuo sito WordPress?
Posso approfondire ulteriormente se ciò non risolve il problema. Sfortunatamente, la connessione tra i miei siti locali di Discourse e WordPress attualmente non funziona. Qualsiasi risposta che il sito WordPress riceve da Discourse restituisce l’errore: cURL error 61: Unrecognized content encoding type. libcurl understands deflate, gzip, br content encodings. Sono abbastanza sicuro che questo sia solo correlato alla configurazione del mio server locale. Avevo intenzione di risolvere questo problema da un po’ di tempo. Approfondirò cosa sta succedendo più tardi oggi.
Modifica: Ho trovato una soluzione temporanea per far connettere i miei siti locali di WordPress e Discourse. Con l’opzione “Crea o sincronizza utenti Discourse al momento del login” di WP Discourse abilitata, ora sono in grado di registrare un utente sul mio sito WP, far creare automaticamente un account Discourse per loro e impostare l’utente per ricevere notifiche via email per un argomento tramite API. Non sono sicuro di cosa possa causare il problema sul tuo sito. Per riferimento, ecco un esempio di chiamata API che sto effettuando. L’Api-Username nella richiesta è impostato sul nome utente di Discourse dell’utente che desidera ricevere notifiche: