Tutorial WordPress affidabili, quando ne hai più bisogno.
Guida per principianti a WordPress
WPB Cup
25 Milioni+
Siti web che utilizzano i nostri plugin
16+
Anni di esperienza con WordPress
3000+
Tutorial WordPress di esperti

Come nascondere i post protetti da password dal loop di WordPress

I post protetti da password dovrebbero rimanere nascosti, ma WordPress mostra comunque i loro titoli negli elenchi del blog, negli archivi e nei risultati di ricerca. Quando qualcuno ne clicca uno e si imbatte improvvisamente in una schermata di password, può essere fonte di confusione.

Questo non lascia la migliore impressione, soprattutto se il contenuto è solo per clienti, membri o uso interno. 😓

La buona notizia è che puoi nascondere completamente questi post dal loop di WordPress (l'elenco dei post visualizzati sulla tua homepage, negli archivi e nei risultati di ricerca). Dalla nostra esperienza, WPCode si è rivelato il modo più semplice e affidabile per farlo.

In questa guida, ti illustreremo alcuni semplici modi per mantenere i tuoi contenuti privati veramente privati. Abbiamo testato diversi metodi in modo che tu possa rimuovere i post protetti da password senza compromettere il tuo sito o bloccare l'accesso a coloro che ne hanno effettivamente bisogno.

Come nascondere i post protetti da password dal loop di WordPress

Perché nascondere i post protetti da password in WordPress?

WordPress mostra ancora i post protetti da password in tutto il tuo sito con un'etichetta "Protetto", anche se il contenuto stesso è bloccato. Questo è un problema se vuoi che determinati contenuti rimangano completamente privati.

Chiunque non abbia la password può ancora vedere il titolo, il che potrebbe rivelare più di quanto intendi. Può anche confondere i visitatori che cliccano su un post aspettandosi contenuti, solo per vedere una richiesta di password.

Post protetti da password visualizzati sulla homepage

Inoltre, questi post possono attirare attenzioni indesiderate. Poiché i titoli sono visibili, qualcuno potrebbe tentare ripetutamente password diverse per ottenere l'accesso, soprattutto se il contenuto sembra prezioso o sensibile.

Ecco perché molti proprietari di siti scelgono di nascondere completamente i post protetti da password dal loop di WordPress. Quando fai questo, i post privati non appariranno da nessuna parte nel front-end a meno che qualcuno non abbia già accesso.

Tenendo conto di ciò, ti mostreremo come nascondere i tuoi post protetti da password dal loop di WordPress in modo che altri utenti non possano vederli. Ecco una rapida panoramica di tutti i passaggi che intraprenderai:

Iniziamo subito!

Passaggio 1. Installa un plugin per snippet di codice

Per apportare modifiche specifiche al tuo sito, alcuni esperti di WordPress potrebbero dirti di aggiungere uno snippet di codice personalizzato al file functions.php del tuo tema.

Non raccomandiamo questo metodo perché non è molto adatto ai principianti e si rischia di compromettere il sito web. Invece, puoi usare un plugin per snippet di codice, come WPCode, per svolgere il lavoro.

WPCode è il miglior plugin per snippet di codice sul mercato. Alcuni dei nostri marchi partner lo utilizzano per aggiungere e gestire snippet di codice personalizzati sui loro siti web e lo hanno apprezzato molto.

Puoi trovare maggiori informazioni sul plugin nella nostra recensione completa di WPCode.

Homepage di WPCode

🧑‍💻 Suggerimento dell'esperto: Questo tutorial funziona perfettamente con la versione gratuita di WPCode. Se aggiungi o gestisci regolarmente più snippet di codice personalizzati, l'aggiornamento a WPCode Pro ti offre utili extra come la pianificazione del codice, la cronologia completa delle revisioni e altro ancora.

Quindi, per prima cosa, procedi all'installazione e all'attivazione del plugin WPCode.

Dalla tua bacheca di WordPress, vai su Plugin » Aggiungi Nuovo Plugin.

Il sottomenu Aggiungi nuovo plugin sotto Plugin nell'area di amministrazione di WordPress

Nella schermata successiva, puoi usare la barra di ricerca per cercare WPCode.

Una volta che appare nei risultati, fai clic sul pulsante 'Installa ora' e poi su 'Attiva' per iniziare a usare il plugin sul tuo sito.

Installazione di WPCode

Se sei nuovo a WordPress, puoi consultare la nostra guida su come installare un plugin WordPress.

Passaggio 2. Nascondi i post protetti da password in WordPress

Una volta attivato il plugin, naviga su Snippet di codice » + Aggiungi snippet dalla tua area di amministrazione di WordPress.

Quindi, fai semplicemente clic sul pulsante 'Aggiungi snippet personalizzato' nella sezione 'Aggiungi il tuo codice personalizzato (Nuovo snippet)'.

Aggiungere codice personalizzato in WPCode

Nella schermata successiva, dovrai scegliere il tipo di codice per il tuo snippet personalizzato.

Per questo tutorial, dovremo utilizzare l'opzione 'Snippet PHP'.

Scelta di PHP Snippet come tipo di codice

Verrai quindi reindirizzato all'editor di snippet di codice personalizzato.

Da qui, vorrai prima nominare lo snippet personalizzato. Ti consigliamo di utilizzare un nome chiaro, come 'Nascondi post protetti da password'. Questo renderà più facile organizzare i tuoi snippet di codice in seguito.

Successivamente, aggiungi semplicemente il seguente codice nella casella 'Anteprima codice':

function wpb_password_post_filter( $where = '' ) {
    if (!is_single() && !is_admin()) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

Questo codice dice a WordPress di cercare tutti i post che hanno una password ed escluderli dalla query. Questo assicura che non vengano visualizzati in elenchi come la tua homepage o archivi, ma saranno comunque accessibili tramite link diretti.

Ecco come appare nell'editor:

Anteprima del codice per nascondere i post protetti da password

A questo punto, dovrai attivare l'interruttore da 'Inattivo' ad 'Attivo'.

Quindi, procedi e fai clic su 'Salva snippet'.

Salvataggio dello snippet per nascondere i post protetti da password

Per impostazione predefinita, WPCode applicherà automaticamente lo snippet di codice ovunque sul tuo sito WordPress.

Ora, se visiti il tuo sito web, vedrai che i post protetti da password non sono più visibili sulla homepage, negli archivi o nei widget come i post recenti.

Post protetti nascosti

Tieni presente che puoi comunque visitare il post accedendovi tramite un URL diretto.

Suggerimento bonus: consentire l'accesso ai post protetti per utenti specifici

L'esempio sopra nasconde i post protetti da password a tutti gli utenti. Ma cosa succede se gestisci un sito WordPress multi-autore  e vuoi che i post protetti siano visibili agli utenti con la capacità di modificare post privati?

Per fare ciò, devi modificare lo snippet che hai creato nel passaggio precedente. Elimina semplicemente il codice che hai aggiunto in precedenza e sostituiscilo con questo nuovo snippet:

function wpb_password_post_filter( $where = '' ) {
   if (!is_single() && !current_user_can('edit_private_posts') && !is_admin()) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

In questo esempio, verifichiamo se un utente non può modificare post privati e mostriamo solo i post che non hanno password.

Facendo ciò, tutti gli utenti di WordPress con ruoli di amministratore ed editor vedranno i post protetti da password sul front-end del tuo sito.

Domande frequenti sulla visualizzazione dei post protetti da password in WordPress

Ti chiedi cosa succede quando nascondi i post protetti da password? Ecco alcune domande comuni che riceviamo dai lettori, insieme a risposte chiare per aiutarti a decidere se questo approccio è giusto per il tuo sito.

Perché dovrei voler nascondere i post protetti da password in WordPress?

Nascondere i post protetti da password aiuta a mantenere il tuo sito pulito e professionale. Impedisce inoltre ai visitatori non autorizzati di vedere che esiste contenuto privato, riducendo il rischio di tentativi di accesso e mantenendo il tuo sito più sicuro.

Devo modificare i file del mio tema per nascondere i post protetti da password?

No, non è necessario modificare direttamente i file del tema. Puoi utilizzare uno snippet di codice personalizzato, e un plugin come WPCode lo rende sicuro e facile da aggiungere senza compromettere il tuo sito.

Nascondere questi post influenzerà la visibilità per gli utenti autorizzati?

Assolutamente no. Gli utenti autorizzati, come i membri registrati o gli utenti con ruoli specifici, possono comunque accedere direttamente ai post purché abbiano la password o le autorizzazioni corrette.

WPCode è l'unico plugin che può aiutare in questo?

WPCode è una delle opzioni più semplici e affidabili, motivo per cui lo consigliamo. Detto questo, ci sono altri plugin disponibili. Assicurati solo di sceglierne uno ben mantenuto e compatibile con il tuo tema e altri strumenti.

Nascondere i post protetti da password influenzerà la SEO del mio sito?

Nascondere questi post dalla tua homepage o dagli archivi non danneggerà la tua SEO. Anzi, può migliorarla mantenendo i tuoi contenuti pubblici più focalizzati e pertinenti per i motori di ricerca.

Altre guide utili per la gestione di un sito di membership WordPress

Speriamo che questo articolo ti abbia aiutato a nascondere i post protetti da password dal loop di WordPress sul tuo sito.

Potresti anche voler consultare i nostri tutorial su:

Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.

Dichiarazione: Il nostro contenuto è supportato dai lettori. Ciò significa che se fai clic su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come è finanziato WPBeginner, perché è importante e come puoi supportarci. Ecco il nostro processo editoriale.

Il Toolkit WordPress Definitivo

Ottieni l'accesso GRATUITO al nostro toolkit - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Interazioni del lettore

17 CommentsLeave a Reply

  1. Ha funzionato benissimo per il feed principale; grazie! Ho un problema simile a quello di Mark (qualche commento più su), ma con il widget Post Recenti. I post protetti da password vengono ancora visualizzati nell'elenco dei Post Recenti.

        • Dovrebbe nascondere i post protetti da password dal tuo widget post recenti. Se hai la cache sul tuo sito, assicurati di svuotarla nel caso in cui tu stia vedendo le informazioni memorizzate nella cache per il widget. L'altra possibilità è che qualcosa stia modificando la query utilizzata dal widget, oltre al nostro codice.

  2. Grazie per aver spiegato come farlo *davvero* nel codice; non me lo aspettavo da un sito chiamato "wpbeginner.com"! (Funziona ancora nel 2024 e con WP 6.5.2, tra l'altro.)

    Molti siti fingono di offrire soluzioni ma in realtà vogliono che tu usi il loro plugin che complica eccessivamente qualcosa di semplice e lascia il tuo sito esposto a qualsiasi vulnerabilità possano introdurre e non correggere mai.

    • It would depend on the site and plugin as plugins can be for simply adding the same code as code from an article without needing to know how to edit files which is why sites recommend them. Glad you found our site and guide helpful :)

      Amministratore

  3. Grazie mille ragazzi. Questo mi ha davvero aiutato. Lo apprezzo. Per favore, continuate a pubblicare altri post di questo tipo che non richiedano l'uso di un plugin.

    • Quando sarà disponibile una soluzione senza plugin, ci assicureremo di provare a includerla.

      Amministratore

  4. Ho creato un plugin specifico per il sito e ho seguito questi passaggi e ha funzionato per nascondere il mio post nella pagina "Post" del mio sito. Tuttavia, il post è ancora visibile in un widget "Post Correlati" per ogni singolo post. (Molto simile all'immagine che hai sopra, tuttavia il mio post protetto da password è ancora visibile.)

    C'è qualcosa che posso fare per risolvere questo problema?

  5. Volevo apportare una mia modifica al codice per mostrare i post se potessi leggere_private_posts.

    function remove_password_protected_posts( $where = "" ) { if (!is_single() && !current_user_can(‘read_private_posts’) && !is_admin() ) { $where .= " AND post_password = ""; } return $where; } add_filter( ‘posts_where’, ‘remove_password_protected_posts’ );

    Ottimo post come al solito. Grazie.

  6. Ciao ragazzi

    Ho creato un plugin specifico per il sito con il seguente codice:

    Se provo ad allegare una galleria nextgen al mio post, la galleria non viene caricata, non appena disabilito il plugin, la galleria nextgen torna alla normalità.

    Cordiali saluti

  7. Grazie per questo snippet. Molto utile!

    Per quanto riguarda l'occultamento di questi post dal feed RSS, mi sono imbattuto in questo snippet.

    function rss_filter_protected($query) { if ($query->is_feed) { add_filter('posts_where', 'rss_filter_password_where'); } return $query; } add_filter('pre_get_posts','rss_filter_protected');

  8. Grazie per questo ottimo consiglio!
    Ma questi post sono nascosti dal loop con il tuo snippet di codice anche nascosti dal feed RSS?

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra politica sui commenti, e il tuo indirizzo email NON verrà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.