Come implementare la funzione di accesso per visualizzare i contenuti, al fine di attirare meglio gli utenti a registrarsi

Come da titolo, ho cercato nel forum ma ho trovato solo come modificare la sicurezza delle categorie, ma questo rende solo tutte le categorie invisibili, che non è la funzione di cui ho bisogno.

Il mio scenario d’uso è: gli utenti non registrati possono visualizzare una parte del contenuto dei post, mentre il contenuto nascosto può essere visualizzato solo dopo l’accesso. Oppure, gli utenti registrati devono rispondere al post per poterlo visualizzare.

Questo è un mezzo per incoraggiare la registrazione e anche per prevenire la maggior parte degli “scaricatori” (persone che prendono senza dare).

Simile a

1 Mi Piace

Come ottenere la funzione di accesso per visualizzare i contenuti, al fine di attrarre meglio gli utenti alla registrazione

Come menzionato nella domanda, ho cercato nel forum e ho trovato solo la sicurezza del cambio di categorie, ma questo renderà solo tutte le categorie invisibili, che non è la funzione di cui ho bisogno.

Il mio scenario di utilizzo è: gli utenti non registrati possono visualizzare una parte del contenuto del post, mentre il contenuto nascosto può essere visualizzato solo accedendo. In alternativa, per registrarsi come utente, è necessario rispondere al post per poterlo visualizzare.

Questo è un mezzo per attrarre registrazioni e anche per prevenire la maggior parte delle parti che raggiungono.

Simile a:

1 Mi Piace

Quello che stai chiedendo è simile a quello che fanno molti giornali? Ad esempio, come utente anonimo, posso visualizzare la prima pagina e le pagine delle categorie del New York Times:

Se poi provo a visitare un articolo, mi viene mostrato qualcosa di simile:

Il motivo per cui chiedo in questo modo è perché penso che l’idea sia stata menzionata in questo forum alcune volte. Mi piace l’idea. Potrebbe essere utile mostrare che questo è un modo comune per le pubblicazioni basate su abbonamento di convincere gli utenti ad abbonarsi. L’idea potrebbe essere utile per alcuni siti Discourse, specialmente per i siti che cercano di attrarre abbonati paganti.

2 Mi Piace

Questo componente del tema fa ciò che vuoi ottenere?

3 Mi Piace

[citazione=“simon, post:3, topic:279350”]
Mi piace l’idea.
[/citazione]

Sì, simon, perché il mio sito web avrà molti link per scaricare software, ma non voglio che gli utenti non registrati lo vedano e ci clicchino sopra. Grazie per la tua risposta!

Mi piacerebbe molto se fosse come la modalità spoiler. —> link per il download Quando un utente non registrato fa clic, apparirà una finestra pop-up di registrazione o una finestra pop-up di pagamento, il che sarà molto elegante.

“Impossibile visualizzare il contenuto senza rispondere” – Gli utenti attivi condividono disinteressatamente le loro conoscenze e vogliono più risposte ai loro post. Questo è anche ciò che vogliono i proprietari del forum. Penso che questa funzionalità sia vantaggiosa per lo sviluppo del forum.

[citazione=“Lilly, post:4, topic:279350, username:Lilly”]
Questo componente del tema fa ciò che vuoi ottenere?
[/citazione]

Proverò a usare questo plugin. Grazie, Lilly!

2 Mi Piace

Prego, spero che funzioni per te. Tieni presente che si tratta di un componente del tema e non di un plug-in, quindi puoi installarlo dall’interfaccia di amministrazione.

1 Mi Piace

Penso che il componente tema Gated Topics in Category stia facendo lo stesso. :slightly_smiling_face:

4 Mi Piace

Questo è facile da fare. C’è un attributo nel modello dell’argomento che mostra se hai risposto o meno. Si chiama posted. Ho scritto in precedenza un componente (Composer tip under specific tag topics) che determina se hai risposto. Se hai competenze di programmazione, puoi dare un’occhiata a ciò che ho scritto. Combinato con il metodo decorateCookedElement dell’API, può essere implementato.

Sono troppo pigro per scrivere il codice specifico. Sono stato molto impegnato di recente.

<script type="text/discourse-plugin" version="1.6.0">

const user = api.getCurrentUser();

const I18n = require("I18n");

const pid = "post_hider"

const tl4_css = `
.d-editor-preview [data-theme-hide] {
  background: var(--tertiary);
  color: var(--secondary);
  border-top: 2px solid var(--secondary);
  position: sticky;
  top: 0;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.d-editor-preview [data-theme-hide]::before {
  content: "Questo post è stato nascosto";
}
`

api.addPostClassesCallback((attrs) => {
if (attrs?.cooked?.includes(`div data-theme-hide="true"`)) {
  return ["hiddened"]; // Aggiunto per il CSS, come scriverlo dipende da te
} else {
  return [];
}
});

if (!user) {
    api.decorateCookedElement((el, helper) => {
        function hide_post() {
            setTimeout(() => {
                try {
                    // document.querySelector(`[data-post-id="${helper?.widget?.attrs?.id}"]`)?.parentElement?.remove();
                } catch (err) {
                    console.log(el);
                    console.log(err);
                }
            }, 1000);
        }
        if (el?.querySelector(`[data-theme-hide="true"]`)) {
            el.innerHTML = `<p>Post nascosto dalla community</p>`; // Modifica questa riga
            hide_post();
        }
    }, {
        id: pid,
        afterAdopt: true,
        onlyStream: true,
    });
}


</script>

Mi sono ricordato che ho qui un codice che usavo per nascondere l’intero post agli utenti non registrati. Puoi usarlo come riferimento.

4 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.