WordPress vous permet de créer des publications protégées par mot de passe. Récemment, l’un de nos lecteurs a demandé s’il était possible de masquer les messages protégés par mot de passe du site. Par défaut, WordPress masque le contenu d’une publication protégée par mot de passe, mais il affiche toujours le titre de la publication avec le préfixe « Protected ». Dans cet article, nous allons vous montrer comment masquer les publications protégées par mot de passe de la boucle WordPress.
Pourquoi masquer les publications protégées par mot de passe dans WordPress ?
Par défaut, WordPress affiche la publication protégée par mot de passe avec son titre et un préfixe « protégé ». Les utilisateurs devront entrer le mot de passe pour afficher le contenu de la publication.
Ce titre de publication est visible sur la page d’accueil, les archives, le widget de publications récentes, etc. Si vous souhaitez garder certains contenus complètement privés, ce n’est pas l’idéal.
Non seulement les utilisateurs qui n’ont pas de mot de passe peuvent voir le titre du message, mais ils peuvent également essayer de saisir des mots de passe. Comme nous le savons tous, les mots de passe peuvent être déchiffrés.
Cela dit, examinons comment masquer vos publications protégées par mot de passe de la boucle WordPress afin que les autres utilisateurs ne puissent pas les voir.
Cacher les publications protégées par mot de passe dans WordPress
Ajoutez simplement ce code au fichier functions.php de votre thème ou à un plugin spécifique au site.
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 simplement la requête envoyée à WordPress en utilisant le posts_where
filtre. Il demande à WordPress de récupérer tous les messages qui n’ont pas de mot de passe.
Visitez votre site Web et vous verrez que les publications protégées par mot de passe ne sont plus visibles sur la page d’accueil, les archives ou dans les widgets comme les publications récentes.
Vous pouvez toujours visiter la publication en y accédant via une URL directe vers la publication elle-même.
L’exemple ci-dessus masque les publications protégées par mot de passe de tous les utilisateurs. Et si vous exploitiez un site WordPress multi-auteurs et souhaitiez que les publications protégées soient visibles par les utilisateurs ayant la possibilité de modifier des publications privées ?
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 publications protégées par mot de passe, puis n’affichons que les publications qui n’ont pas de mot de passe. Ainsi, tous les utilisateurs ayant des rôles d’administrateur et d’éditeur verront les messages protégés par mot de passe sur le front-end de votre site.
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 pouvez également consulter notre didacticiel sur la façon de modifier le préfixe des publications privées et protégées dans WordPress.