Voglio creare automaticamente un utente in Discourse quando avviene una nuova registrazione su WordPress, ma non voglio concedere loro l’accesso prima che completino un modulo di candidatura.
Riesco a utilizzare le impostazioni “sincronizza all’accesso” e “è necessario approvare gli utenti” per ottenere gran parte di questo, ma non so come verificare se l’utente è stato approvato in Discourse.
Esiste un campo di metadati dell’utente in WP che Discourse utilizza per memorizzare lo stato di approvazione dell’utente? Se no, devo utilizzare un’API per ottenere le informazioni da Discourse?
Il mio obiettivo è mostrare un pulsante sulla mia dashboard in WP con un link dinamico che cambia in base allo stato di approvazione o meno.
Utente non approvato: il link dinamico reindirizza al modulo di candidatura su WP.
Utente approvato: il link dinamico reindirizza alla community di Discourse.
Ho consultato alcuni post ma non sono riuscito a trovare una soluzione. Apprezzo molto l’aiuto!
Ho capito come realizzare questo scrivendo una query per l’esploratore dei dati e chiamandola tramite API. Funziona bene, ma ora sto effettuando una chiamata tra due sistemi, il che è ovviamente più lento rispetto ad avere i dati salvati in WP.
Se il caricamento della pagina è lento, utilizzerei un hook per memorizzare i dati di approvazione in un campo personalizzato dell’utente. Prima di procedere, sarebbe utile sapere se il plugin WP-Discourse lo fa già.
Ehi @Himanshu_Singh, la risposta breve è che il plugin WP Discourse non memorizza lo stato di approvazione dell’utente Discourse.
Ti suggerisco di dare un’occhiata all’azione wpdc_after_sync_sso, che viene attivata dopo che il record dell’utente è stato sincronizzato al momento dell’accesso a WordPress.