Diversi lettori ci hanno detto di essere rimasti sorpresi nel constatare che la protezione della password di WordPress non è così privata come sembra.
Certo, i contenuti sono bloccati dietro una password. Ma i titoli dei post vengono comunque visualizzati sulla homepage, sulle pagine di categoria e sui risultati della ricerca.
È come bloccare un’agenda ma lasciare i nomi dei capitoli all’aperto. 😱
Questo è un problema se gestite un sito associativo o condividete informazioni aziendali sensibili. Non solo sembra disordinato, ma lascia anche intendere cosa si nasconde dietro le quinte. Alcuni visitatori curiosi potrebbero addirittura cercare di accedere al contenuto solo perché sanno che è lì.
Fortunatamente, esistono modi per nascondere completamente queste visualizzazioni pubbliche.
In questa guida vi mostrerò i modi migliori per mantenere davvero privati i vostri contenuti privati. Abbiamo testato diversi metodi per rimuovere le pubblicazioni protette da password dai loop di WordPress, senza rompere il sito o bloccare le persone che hanno bisogno di accedervi. 🙌

Perché nascondere i post protetti da password in WordPress?
Per impostazione predefinita, WordPress visualizza un post protetto da password con il suo titolo e il prefisso “protetto”. Gli utenti devono inserire la password per visualizzare il contenuto del post.
Il prefisso del post è visibile nella homepage, negli archivi, nei widget dei post recenti e in altre aree.

Se si desidera mantenere alcuni contenuti completamente privati, questa soluzione non è ideale per diversi motivi.
Gli utenti che non hanno la password possono comunque vedere il titolo del post, il che potrebbe essere un problema di per sé. Possono anche cercare di accedere al contenuto con un attacco a forza bruta. Come tutti sappiamo, le password possono essere decifrate.
Per questo motivo, vi mostreremo come nascondere i post protetti da password dal ciclo di WordPress, in modo che gli altri utenti non possano vederli. Ecco una rapida panoramica di tutti i passaggi da seguire:
Facciamo un salto nel buio!
Passo 1. Installare un plugin Code Snippet
Per apportare modifiche specifiche al vostro sito, alcuni esperti di WordPress potrebbero dirvi di aggiungere un frammento di codice personalizzato al file functions.php del vostro tema.
Non consigliamo questo metodo perché non è molto adatto ai principianti e si rischia di rompere il sito web. Si può invece utilizzare un plugin per gli snippet di codice, come WPCode, per fare il lavoro.
WPCode è il miglior plugin per snippet di codice sul mercato. Alcuni dei nostri brand partner lo utilizzano per add-on e gestione di snippet di codice personalizzati sui loro siti web e ne sono entusiasti.
Per maggiori informazioni su chi siamo, potete consultare la nostra recensione completa di WPCode.

La parte migliore è che potete usare la versione gratuita di WPCode per aggiungere uno snippet di codice personalizzato al vostro sito WordPress.
Quindi, per prima cosa, installate e attivate il plugin gratuito WPCode. Se avete bisogno di aiuto per questa operazione, consultate la nostra guida su come installare un plugin di WordPress.
🧑💻 Suggerimento degli esperti: Se acquistate la versione premium di WPCode, potrete accedere a caratteristiche avanzate come la cronologia completa delle revisioni, la programmazione del codice e l’accesso a oltre 100 snippet di codice approvati da esperti.
Passo 2. Nascondere i post protetti da password in WordPress
Una volta attivato il plugin, andare su Code Snippet ” + Add Snippet dall’area di amministrazione di WordPress.
Quindi, è sufficiente fare clic sul pulsante “Aggiungi snippet personalizzato” nella sezione “Aggiungi il tuo codice personalizzato (nuovo snippet)”.

Nella schermata successiva, dovrete scegliere il tipo di codice per il vostro snippet personalizzato.
Per questa esercitazione, dovremo usare l’opzione ‘Snippet PHP’.

Si verrà quindi reindirizzati all’editor degli snippet di codice personalizzati.
Da qui, si dovrà innanzitutto assegnare un nome allo snippet personalizzato. Si consiglia di usare un nome cancellato, come “Nascondi post protetti da password”. In questo modo sarà più facile organizzare gli snippet di codice personalizzati.
Successivamente, è sufficiente aggiungere il seguente codice alla 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 modifica la query inviata a WordPress utilizzando il filtro posts_where
. Chiede a WordPress di recuperare tutti i post che non hanno una password.
Ecco come appare nell’editor:

A questo punto, è necessario spostare l’interruttore “Inattivo” su “Attivo”.
Quindi, fare clic su “Salva snippet”.

Per impostazione predefinita, WPCode applica automaticamente lo snippet di codice ovunque sul vostro sito WordPress.
Ora, se visitate il vostro sito web, vedrete che i post protetti da password non sono più visibili nella homepage, negli archivi o nei widget come i post recenti.

Si tenga presente che è comunque possibile visitare il post accedendovi tramite un URL diretto.
Suggerimento bonus: Consentire l’accesso ai post protetti a utenti specifici
L’esempio precedente nasconde i post protetti da password a tutti gli utenti. Ma cosa succederebbe se si gestisse un sito WordPress con più autori e si volesse che i post protetti fossero visualizzabili dagli utenti che hanno la possibilità di modificare i post privati?
È sufficiente modificare il codice precedente con un altro tag condizionale come questo:
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, si verifica se un utente non può modificare i post protetti da password e si mostrano solo i post che non hanno password.
In questo modo, tutti gli utenti di WordPress con ruoli di amministratore ed editor vedranno i post protetti da password sul frontend del sito.
💡 Suggerimento per gli addetti ai lavori: Siete stanchi di personalizzare e gestire il vostro sito web WordPress da soli? La buona notizia è che non dovete farlo!
Con il servizio di manutenzione e assistenza WordPress di WPBeginner, il nostro team di esperti si assicurerà che il vostro sito sia aggiornato, creerà backup regolari, monitorerà i tempi di attività 24 ore su 24 e molto altro ancora!
Prenotate una telefonata di consulenza gratuita o date un’occhiata a tutti i nostri servizi professionali oggi stesso!
FAQ su come nascondere le pubblicazioni protette da password in WordPress
Vi state chiedendo cosa succede quando nascondete le pubblicazioni protette da password? Ecco alcune domande comuni che riceviamo dai lettori, insieme a risposte chiare che vi aiuteranno a decidere se questo approccio è adatto al vostro sito.
Perché dovrei voler nascondere le pubblicazioni protette da password in WordPress?
Nascondere le pubblicazioni protette da password aiuta a mantenere l’aspetto pulito e professionale del sito. Inoltre, impedisce ai visitatori non autorizzati di vedere l’esistenza di contenuti privati, riducendo il rischio di tentativi di accesso e mantenendo il sito più sicuro.
Posso nascondere le pubblicazioni protette da password senza usare il codice?
Sì! Sebbene WordPress offra impostazioni di base per la privacy, l’uso di un plugin come WPCode rende il processo più semplice e affidabile, soprattutto se non siete a vostro agio nella modifica del codice. Vi dà un maggiore controllo senza bisogno di competenze tecniche.
Nascondere queste pubblicazioni influisce sulla visibilità per gli utenti autore?
Non del tutto. Gli utenti autorevoli, come i membri connessi o gli utenti con ruoli specifici, possono ancora accedere direttamente alle pubblicazioni. A condizione che abbiano la password o le autorizzazioni corrette.
WPCode è l’unico plugin che può aiutare in questo senso?
WPCode è una delle opzioni più semplici e affidabili e per questo la consigliamo. Tuttavia, esistono anche altri plugin. Assicuratevi di sceglierne uno che sia ben curato e compatibile con il tema e gli altri strumenti.
Nascondere le pubblicazioni protette da password influisce sulla SEO del mio sito?
Nascondere queste pubblicazioni dalla homepage o dagli archivi non danneggia la SEO. Anzi, può migliorarla, mantenendo i contenuti rivolti al pubblico più mirati e rilevanti per i motori di ricerca.
Speriamo che questo articolo vi abbia aiutato a nascondere i post protetti da password dal ciclo di WordPress sul vostro sito. Potreste anche consultare il nostro tutorial su come modificare il prefisso dei post privati e protetti in WordPress e la nostra guida sui diversi modi per proteggere i contenuti in WordPress.
Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.
David Brown
Thank you for explaining how to *really* do it in code; I wasn’t expecting that from a site called “wpbeginner.com”! (Still works in 2024 and WP 6.5.2, by the way.)
So many sites pretend to offer solutions but really want you to use their plug-in that overcomplicates some simple thing and leaves your site exposed to any vulnerabilities they might introduce and never patch.
WPBeginner Support
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
Admin
Rahul Rana
This was very helpful. Thank you very much
WPBeginner Support
You’re welcome glad our guide was helpful!
Admin
Vincent Zhang
Thank you guys so much. This really helped me. I appreciate it. Please keep more of this type of posts coming that do not involve using a plugin.
WPBeginner Support
When a plugin-free solution is available we will be sure to try to include it.
Admin
Louis Burkhardt
Thanks. Works great.
Mark
I created a site specific plugin and followed these steps and it worked for hiding my post on the “Posts” page of my site. However, the post is still visible on a Related Posts widget for each individual post. (Very similar to the image you have above, however my Password protected post is still visible.)
Is there anything I can do to fix this?
Alex
I wanted to make my own code adjustment to show the posts if you could read_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’ );
Great post as usual. Thanks.
Harin
Hi guys
I made a site specific plugin with the following code:
If I try to attach a nextgen gallery to my post, the gallery doesn’t load, as soon as I disable the plugin, the nextgen gallery goes back to normal.
Regards
Brandon
Thanks for this snippet. So helpful!
Regarding hiding these posts from the rss feed, I ran across this 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');
Chris
Thanks for that great tip!
But are these posts hidden from the loop with your code snippet also hidden from the RSS feed?
Louis Burkhardt
Based on a single test, the pw protected post is hidden from the RSS feed.