pre_get_posts
. Ce dernier est appelé avant que la requête ne soit exécutée nous permettant ainsi de l’altérer en lui passant de nouveaux arguments.
Nous allons donc créer une nouvelle fonction que vous pourrez coller dans le fichier functions.php de votre thème. Le fait de placer ce bout de code directement dans le thème prend ici tout son sens étant donné que nous modifions l’affichage des boucles.
On commence par vérifier que nous ne sommes pas dans le back-office de WordPress et que nous modifions bien la boucle principale. Ensuite, on définit un nouvel argument has_password
que l’on passera sur false
. Les contenus avec mot de passe seront donc automatiquement exclus de toutes les boucles.
Si vous faites des requêtes Ajax, n’oubliez pas d’indiquer à nouveau ce paramètre dans vos requêtes personnalisées.
Pour en savoir plus sur pre_get_posts
, je vous recommande l’excellent billet de Rémi Corson.
Peu usité, les contenus protégés par mot de passe n’en reste pas moins un cas possible qu’il nous faut traiter pour éviter qu’une information sensible ne soit révélée au public comme le titre ou l’extrait d’un article.