Plusieurs lecteurs nous ont fait part de leur surprise en découvrant que la protection par mot de passe de WordPress n'est pas aussi privée qu'il y paraît.
Bien sûr, le contenu est protégé par un mot de passe. Mais les titres des articles apparaissent toujours sur votre page d'accueil, vos pages de catégories et vos résultats de recherche.
C'est comme verrouiller un journal intime mais laisser les titres des chapitres à découvert. 😱
C'est un problème si vous gérez un site d'adhésion ou si vous partagez des informations commerciales sensibles. Non seulement cela fait désordre, mais cela suggère également ce qui est caché en coulisses. Certains visiteurs curieux pourraient même essayer d'accéder au contenu simplement parce qu'ils savent qu'il existe.
Heureusement, il existe des moyens de cacher complètement ces articles de la vue du public.
Dans ce guide, je vais vous montrer les meilleures façons de garder votre contenu privé vraiment privé. Nous avons testé plusieurs méthodes pour supprimer les articles protégés par mot de passe des boucles WordPress – sans casser votre site ni bloquer les personnes qui ont besoin d'y accéder. 🙌

Pourquoi cacher les articles protégés par mot de passe dans WordPress ?
Par défaut, WordPress affiche un article protégé par mot de passe avec son titre et le préfixe « protégé ». Les utilisateurs doivent entrer le mot de passe pour afficher le contenu de l'article.
Ce préfixe d'article est visible sur la page d'accueil, dans les archives, dans les widgets d'articles récents et dans d'autres zones.

Si vous souhaitez garder certains contenus complètement privés, ce n'est pas idéal pour plusieurs raisons.
Les utilisateurs qui n'ont pas de mot de passe peuvent toujours voir le titre de la publication, ce qui peut être un problème en soi. Ils peuvent également essayer d'accéder au contenu avec une attaque par force brute. Comme nous le savons tous, les mots de passe peuvent être piratés.
Dans cette optique, nous allons vous montrer comment masquer vos publications protégées par mot de passe dans la boucle WordPress afin que les autres utilisateurs ne puissent pas les voir. Voici un aperçu rapide de toutes les étapes que vous suivrez :
- Étape 1. Installer un plugin d'extraits de code
- Étape 2. Masquer les publications protégées par mot de passe dans WordPress
- Astuce bonus : Autoriser l'accès aux publications protégées pour des utilisateurs spécifiques
- FAQ sur le masquage des publications protégées par mot de passe dans WordPress
Allons-y !
Étape 1. Installer un plugin d'extraits de code
Pour apporter des modifications spécifiques à votre site, certains experts WordPress peuvent vous dire d'ajouter un extrait de code personnalisé au fichier functions.php de votre thème.
Nous ne recommandons pas cette méthode car elle n'est pas très conviviale pour les débutants et vous risquez de casser votre site Web. Au lieu de cela, vous pouvez utiliser un plugin d'extraits de code, comme WPCode, pour faire le travail.
WPCode est le meilleur plugin d'extraits de code sur le marché. Certaines de nos marques partenaires l'utilisent pour ajouter et gérer des extraits de code personnalisés sur leurs sites Web, et elles l'ont adoré.
Vous pouvez trouver plus d'informations sur le plugin dans notre avis complet sur WPCode.

Le meilleur atout est que vous pouvez utiliser la version gratuite de WPCode pour ajouter un extrait de code personnalisé à votre site WordPress.
Donc, pour commencer, installez et activez le plugin gratuit WPCode. Si vous avez besoin d'aide pour le processus, consultez notre guide sur comment installer un plugin WordPress.
🧑💻 Astuce d'expert : Débloquez des fonctionnalités avancées comme l'historique complet des révisions, la planification de code et l'accès à plus de 100 extraits de code approuvés par des experts en achetant la version premium de WPCode.
Étape 2. Masquer les publications protégées par mot de passe dans WordPress
Une fois le plugin activé, accédez à Extraits de code » + Ajouter un extrait depuis votre zone d'administration WordPress.
Ensuite, cliquez simplement sur le bouton « Ajouter un extrait personnalisé » dans la section « Ajouter votre code personnalisé (Nouvel extrait) ».

Sur l'écran suivant, vous devrez choisir le type de code pour votre extrait personnalisé.
Pour ce tutoriel, nous devrons utiliser l'option « Extrait PHP ».

Vous serez ensuite redirigé vers l'éditeur d'extraits de code personnalisés.
À partir d'ici, vous voudrez d'abord nommer l'extrait personnalisé. Nous vous recommandons d'utiliser un nom clair, comme « Masquer les articles protégés par mot de passe ». Cela facilitera l'organisation de vos extraits de code personnalisés plus tard.
Ensuite, ajoutez simplement le code suivant dans la boîte « Aperçu du code » :
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' );
Ce code modifie la requête envoyée à WordPress en utilisant le filtre posts_where. Il demande à WordPress de récupérer tous les articles qui n'ont pas de mot de passe.
Voici à quoi cela ressemble dans l'éditeur :

À ce stade, vous devrez basculer le commutateur « Inactif » sur « Actif ».
Ensuite, cliquez sur « Enregistrer l'extrait ».

Par défaut, WPCode appliquera automatiquement l'extrait de code partout sur votre site WordPress.
Maintenant, si vous visitez votre site Web, vous verrez que les articles protégés par mot de passe ne sont plus visibles sur la page d'accueil, les archives ou dans les widgets comme les articles récents.

Gardez à l'esprit que vous pouvez toujours visiter l'article en y accédant via une URL directe.
Astuce bonus : Autoriser l'accès aux publications protégées pour des utilisateurs spécifiques
L'exemple ci-dessus masque les articles protégés par mot de passe à tous les utilisateurs. Mais que faire si vous gériez un site WordPress multi-auteurs et que vous vouliez que les articles protégés soient visibles par les utilisateurs ayant la capacité de modifier les articles privés ?
Modifiez simplement le code ci-dessus avec une autre balise conditionnelle comme celle-ci :
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' );
Dans cet exemple, nous vérifions si un utilisateur ne peut pas modifier les articles protégés par mot de passe et nous affichons uniquement les articles qui n'ont pas de mot de passe.
En faisant cela, tous les utilisateurs WordPress ayant les rôles d'administrateur et d'éditeur verront les articles protégés par mot de passe sur le front-end de votre site.
FAQ sur le masquage des publications protégées par mot de passe dans WordPress
Vous vous demandez ce qui se passe lorsque vous masquez les articles protégés par mot de passe ? Voici quelques questions courantes que nous recevons de nos lecteurs, accompagnées de réponses claires pour vous aider à décider si cette approche convient à votre site.
Pourquoi voudrais-je masquer les articles protégés par mot de passe dans WordPress ?
Masquer les articles protégés par mot de passe permet de garder votre site propre et professionnel. Cela empêche également les visiteurs non autorisés de voir que du contenu privé existe, réduisant ainsi le risque de tentatives d'accès et rendant votre site plus sécurisé.
Puis-je masquer les articles protégés par mot de passe sans utiliser de code ?
Oui ! Bien que WordPress offre des paramètres de confidentialité de base, l'utilisation d'un plugin comme WPCode facilite et fiabilise le processus, surtout si vous n'êtes pas à l'aise avec la modification de code. Il vous donne plus de contrôle sans nécessiter de compétences techniques.
Le fait de masquer ces publications affectera-t-il la visibilité pour les utilisateurs autorisés ?
Pas du tout. Les utilisateurs autorisés, tels que les membres connectés ou les utilisateurs ayant des rôles spécifiques, peuvent toujours accéder directement aux publications. Tant qu'ils ont le mot de passe ou les autorisations corrects.
WPCode est-il le seul plugin qui peut aider à cela ?
WPCode est l'une des options les plus simples et les plus fiables, c'est pourquoi nous la recommandons. Cela dit, il existe d'autres plugins disponibles. Assurez-vous simplement d'en choisir un qui est bien entretenu et compatible avec votre thème et vos autres outils.
Le masquage des publications protégées par mot de passe affectera-t-il le référencement de mon site ?
Masquer ces publications de votre page d'accueil ou de vos archives ne nuira pas à votre SEO. En fait, cela peut l'améliorer en gardant votre contenu public plus ciblé et pertinent pour les moteurs de recherche.
Nous espérons que cet article vous a aidé à masquer les publications protégées par mot de passe de la boucle WordPress sur votre site. Vous voudrez peut-être aussi consulter notre tutoriel sur comment changer le préfixe des publications privées et protégées dans WordPress et notre guide sur les différentes façons de protéger le contenu dans WordPress.
Si cet article vous a plu, abonnez-vous à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous retrouver sur Twitter et Facebook.

Abby Buzon
Cela a très bien fonctionné pour le fil d'actualité principal ; merci ! J'ai un problème similaire à celui de Mark (quelques commentaires plus haut), mais avec le widget des publications récentes. Les publications protégées par mot de passe s'affichent toujours dans la liste des publications récentes.
Support WPBeginner
Avez-vous un plugin qui modifie le fonctionnement du widget des publications récentes ?
Admin
Abby Buzon
Non, pourquoi ? Ce snippet devrait-il également les masquer du widget des publications récentes ?
Support WPBeginner
Il devrait masquer les publications protégées par mot de passe de votre widget des publications récentes. Si vous avez mis en cache votre site, assurez-vous de le vider au cas où vous verriez des informations mises en cache pour le widget. L'autre possibilité est que quelque chose modifie la requête utilisée par le widget, autre que notre code.
David Brown
Merci d'avoir expliqué comment faire *vraiment* en code ; je ne m'attendais pas à ça d'un site appelé « wpbeginner.com » ! (Cela fonctionne toujours en 2024 et WP 6.5.2, d'ailleurs.)
Tant de sites prétendent offrir des solutions mais veulent vraiment que vous utilisiez leur plugin qui sursimplifie une chose simple et laisse votre site exposé à toutes les vulnérabilités qu'ils pourraient introduire et ne jamais corriger.
Support WPBeginner
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
Support WPBeginner
De rien, heureux que notre guide vous ait été utile !
Admin
Vincent Zhang
Merci beaucoup les gars. Cela m'a vraiment aidé. J'apprécie. S'il vous plaît, continuez à publier ce type de contenu qui n'implique pas l'utilisation d'un plugin.
Support WPBeginner
Lorsqu'une solution sans plugin sera disponible, nous ne manquerons pas d'essayer de l'inclure.
Admin
Louis Burkhardt
Merci. Ça marche très bien.
Mark
J'ai créé un plugin spécifique au site et j'ai suivi ces étapes, et cela a fonctionné pour masquer mon article sur la page « Articles » de mon site. Cependant, l'article est toujours visible dans un widget « Articles similaires » pour chaque article individuel. (Très similaire à l'image que vous avez ci-dessus, cependant mon article protégé par mot de passe est toujours visible.)
Y a-t-il quelque chose que je puisse faire pour résoudre ce problème ?
Alex
Je voulais faire mon propre ajustement de code pour afficher les articles si vous pouviez lire_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’ );
Excellent article comme d'habitude. Merci.
Harin
Salut les gars
J'ai créé un plugin spécifique au site avec le code suivant :
Si j'essaie de joindre une galerie nextgen à mon article, la galerie ne se charge pas, dès que je désactive le plugin, la galerie nextgen revient à la normale.
Cordialement
Brandon
Merci pour cet extrait. Très utile !
Concernant la façon de masquer ces articles du flux RSS, j'ai trouvé cet extrait.
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
Merci pour ce super conseil ! Mais ces articles sont-ils également masqués du flux RSS avec votre extrait de code ?
Louis Burkhardt
Sur la base d'un test unique, l'article protégé par mot de passe est masqué du flux RSS.