
Les Custom Post Types (CPT pour les intimes) ou Types d'Article Personnalisés en Français, te permettent de faire des miracles quand il s'agit de créer et d'organiser son thème WordPress. Pour celles et ceux qui auraient loupé le train en marche, voici pourquoi et comment créer tes Custom Post Types.
Ceci étant dit, il faut savoir que WordPress ne prend dans son flux RSS que les Articles. Et non, même pas les Pages et encore moins les Custom Post Types.
Alors remédions à cela tout de suite !
Ajouter tous mes CPT au flux RSS de WordPress
Ajouter tous les CPT au flux RSS de WordPress est très simple.
Dans le fichier functions.php
, il suffit d'ajouter le code suivant :
function ajouter_cpt_dans_flux_rss($query) {
if ($query->is_feed() && $query->is_main_query()) {
// Récupère tous les types de contenus publics
$post_types = get_post_types(['public' => true, '_builtin' => false], 'names');
// Ajoute 'post' pour garder les articles classiques dans le flux
$post_types[] = 'post';
$query->set('post_type', $post_types);
}
return $query;
}
add_action('pre_get_posts', 'ajouter_cpt_dans_flux_rss');
Explication :
- Ligne 4 :
get_post_types(['public' => true, '_builtin' => false], 'names')
: récupère tous les CPT personnalisés qui sont publics (exclutpost
,page
, etc.). - Ligne 7 :
post_types[] = 'post'
: on ajoute manuellement les articles de blog classiques. - Ligne 13 :
pre_get_posts
: hook qui permet de modifier la requête principale, ici pour les flux RSS (is_feed()
).
Ajouter certains CPT au flux RSS de WordPress
Il est aussi possible de n'ajouter que certains Custom Post Types à ton flux RSS. Une option très intéressante qui te laisse une grande souplesse.
De la même façon que juste au-dessus, il faut modifier le fichier functions.php
en ajoutant le code suivant :
function ajouter_cpt_specifiques_dans_flux_rss($query) {
if ($query->is_feed() && $query->is_main_query()) {
// Définir les types de contenu à inclure dans le flux RSS
$post_types = ['post', 'recettes', 'tutoriels'];
$query->set('post_type', $post_types);
}
return $query;
}
add_action('pre_get_posts', 'ajouter_cpt_specifiques_dans_flux_rss');
Concrètement, je viens d'ajouter à mon flux RSS :
- Post = les Articles par défaut de WordPress
- Recettes = mon CPT dont l'identifiant est "recettes"
- Tutoriels = mon CPT dont l'identifiant est "tutoriels"
Explications :
- On remplace la détection automatique des CPTs par une liste explicite :
['post', 'recettes', 'tutoriels']
- Cela garantit que seuls ces 3 types de contenus apparaîtront dans le flux principal (
/feed/
)
Voir les flux RSS générés par WordPress
WordPress génère plusieurs flux RSS dont les principaux sont les suivants :
- Flux RSS principal de votre site : https://www.monsite.fr/feed
- Flux RSS des commentaires : https://www.monsite.fr/comments/feed
- Flux RSS des Archives par année : https://www.monsite.fr/2019/feed
Affiche le flux RSS d'un Custom Post Type
Ici nous avons envie d'afficher le flux RSS de notre CPT "recettes", rien de plus simple :
https://www.monsite.fr/feed/?post_type=recettes
Affiche le flux RSS d'un Custom Post Type selon une Taxonomie
Soyons fou, tu veux maintenant afficher le flux RSS de tes "recettes" classées comme "creole" dans la Taxonomy "origine" :
https://www.monsite.fr/feed/?post_type=recettes&origine=creole
Des plugins pour aller plus loin dans la gestion des flux RSS WordPress
Extension WP | Note globale | Installations actives |
WP RSS Aggregator | 4.5 / 5 | + de 50 000 |
FEEDZY RSS Feeds | 4.7 / 5 | + de 50 000 |
Category Specific RSS | 4.4 / 5 | + de 4 000 |
Utilises-tu l'une de ces extensions WordPress pour ton flux RSS ? Dis-moi en commentaires si j'en ai oublié (oups) ou partage tes bons plans sur le sujet !
Besoin d'un expert pour améliorer les performances de votre site internet ?
Contactez-moi pour en discuter ensemble !
Recevez un audit et une estimation gratuite des optimisations à apporter à votre site web.
Laisser un commentaire