Lorsque l’on travaille avec des types de contenus personnalisés (CPT dits custom posts types), n’étant pas des articles ou pages comme les autres, ils ne seront pas visibles dans vos pages telles que les catégories sans mettre quelques actions en place.
WordPress, en tant que système de gestion de contenu, est apprécié pour sa flexibilité et sa personnalisation. Une partie essentielle de cette personnalisation réside dans la gestion des types de publications (posts). Par défaut, WordPress traite les articles de blog standard et les pages, mais souvent, nous avons besoin de plus, d’où l’introduction des types de publications personnalisés (Custom Post Types ou CPT).
Plan de l'article
TogglePourquoi les custom post ne sont pas tous repris par défaut dans le loop WordPress ?
Tous les utilisateurs de WordPress n’utilisent pas les custom post de la même façon. De base, vous l’avez certainement remarqué en créant votre CPT, vous pouvez les exclure de la recherche ou non.
Cependant, la gestion des catégories est autre que la recherche. Certains créeront des pages de type informationelle, d’autres transactionelle, et de ce fait voudront ou ne voudront pas qu’on les retrouve avec les posts classiques.
Mais rassurez-vous, c’est très facile à changer !
Afficher les contenus personnalisés dans le loop catégorie
Ajoutez simplement le bout de code suivant dans votre fichier functions.php
function wpln_cptype_on_cat($request) {
if ( isset($request['category_name']) )
$request['post_type'] = 'any';
return $request;
}
add_filter('request', 'wpln_cptype_on_cat');
Cette fonction astucieusement conçue modifie la requête principale de WordPress pour inclure tous les types de publications, y compris les CPT, lorsqu’une catégorie spécifique est demandée. Elle s’assure que lorsque les utilisateurs naviguent dans une catégorie, ils ont accès non seulement aux articles standard mais aussi à tous les CPT associés à cette catégorie.