Questa guida spiega come configurare l’impostazione “allowed embed selectors” in Discourse. Questa impostazione è fondamentale quando si pubblicano post da un sito esterno su Discourse o quando si incorporano commenti di Discourse su un sito esterno utilizzando JavaScript.
Livello utente richiesto: Amministratore
Per un utilizzo più avanzato sono richieste alcune conoscenze di CSS
Quando si pubblicano post su Discourse da un sito esterno o si incorporano commenti di Discourse su un sito esterno, potresti riscontrare problemi con il pulsante “Mostra post completo” che non carica il contenuto corretto. Questa guida ti aiuterà a configurare l’impostazione “allowed embed selectors” per risolvere questo problema.
Comprendere il problema
Quando gli utenti fanno clic sul pulsante “Mostra post completo”, Discourse potrebbe non caricare il contenuto corretto del post dal tuo sito esterno. È qui che entra in gioco l’impostazione “allowed embed selectors”.
Individuare l’impostazione
Puoi trovare l’impostazione “allowed embed selectors” in due posizioni:
- Cerca “allowed embed selectors” nella pagina delle impostazioni del tuo sito.
- Vai su Amministratore > Personalizza > Incorporamento, quindi seleziona la scheda Crawler.
Identificare i selettori CSS corretti
Per trovare i selettori CSS appropriati:
- Vai a un post sul tuo sito esterno che hai pubblicato su Discourse.
- Apri l’ispettore web del tuo browser ed esamina la struttura HTML del post.
- Identifica gli elementi HTML che circondano immediatamente il contenuto principale del post.
Ad esempio, in un post tipico di WordPress, il contenuto si trova spesso in un div .entry-content all’interno dei tag article. In questo caso, potresti utilizzare article .entry-content come selettore CSS.
Configurare l’impostazione
Per caricare vari tipi di contenuto dal tuo sito esterno, potresti dover aggiungere più selettori. Ad esempio:
article .entry-content img, article .entry-content p, article .entry-content ul
Questo esempio seleziona immagini, paragrafi ed elenchi non ordinati all’interno del contenuto dell’articolo.
Test e risoluzione dei problemi
Trovare i selettori corretti potrebbe richiedere qualche prova ed errore. Tieni presente quanto segue:
- Discourse memorizza nella cache il contenuto dei post esterni per 10 minuti, quindi le modifiche potrebbero non essere immediatamente visibili.
- Per aggirare questo problema, esegui i test con più post o cancella la cache su un sito di sviluppo utilizzando
Rails.cache.clearnella console di Rails.
Gestione delle immagini
Se hai problemi a caricare le immagini dal tuo sito web, assicurati che i tuoi selettori CSS includano gli elementi immagine appropriati. Ad esempio:
article .entry-content img
Questo selettore mira alle immagini all’interno del contenuto dell’articolo.
Ulteriori considerazioni
- L’impostazione “allowed embed selectors” si applica sia ai post pubblicati tramite API sia ai post caricati con lo script di incorporamento di Discourse.
- Potresti dover regolare i selettori in base alla struttura specifica del tuo sito web e ai tipi di contenuto.
- Ricorda di salvare le modifiche dopo aver aggiornato l’impostazione.


