Comment récupérer et afficher le flux RSS dans WordPress ?
Vous cherchez un moyen simple pour récupérer un flux RSS à partir d’un fichier xml et l’afficher dans WordPress ? Bien qu’il existe probablement une extension pour effectuer cette tâche, nous avons créé un bout de code rapide que vous pouvez utiliser pour récupérer et afficher le flux RSS dans WordPress.
Qu’est-ce qu’un flux RSS ?
C’est un acronyme qui signifie Really Simple Syndication. Un flux RSS permet de diffuser du contenu qui comporte diverses données : un titre, une description, un auteur, une image à la une et une date de publication… Il vous permet donc de consulter dans un seul endroit chaque nouvelle publication de vos sites favoris.
Le flux RSS n’est pas un chien à 3 pattes pour vous si vous travaillez avec WordPress. Dans le backoffice de WordPress vous pouvez trouver le flux RSS de la communauté WordPress française.
C’est très intéressant comme fonctionnalité pour faire une veille sur internet et avoir une mise à jour automatique de chaque nouvelle publication. Avec le flux RSS vous pouvez créer votre propre outils d’agrégateur de contenu comme : Feedly, FlipBoard, Feedspot, Newsify et bien d’autres.
Afficher le flux RSS dans WordPress sans plugin.
Nous allons commencer par vous donner une idée sur à quoi ressemblera le résultat :
C’est très simple, il suffit d’insérer le code ci-dessous dans un modèle de page de votre choix ou la page sur laquelle vous souhaitez faire apparaître le flux RSS sous forme des articles de blog.
Ici nous utilisons Bootstrap pour le grid de 3 colonnes pour rendre l’affichage plus propre :
<div class="container">
<h2 class="text-dark">Afficher les articles à partir d'un flux RSS</h2>
<div class="row">
<?php if(function_exists('fetch_feed')) {
include_once(ABSPATH.WPINC.'/feed.php');
$feed = fetch_feed('url'); // change to your own url
$limit = $feed->get_item_quantity(6); // specify number of items
$items = $feed->get_items(0, $limit); // create an array of items
// we load the attributes into $thumbAttr
// you can either use the namespace prefix
}
if ($limit == 0) echo '<div>The feed is empty or unavailable.</div>';
else foreach ($items as $item) : ?>
<div class="col-md-4 pb-3">
<div class="card">
<div class="card-body">
<a href="<?php echo $item->get_permalink(); ?>"
title="<?php echo $item->get_date('j F Y @ g:i a'); ?>">
<h5 class="card-title"><?php echo $item->get_title(); ?> </h5>
<span class="date"><i class="fa fa-calendar-check"></i> <?php echo $item->get_date('j F Y @ g:i a'); ?></span>
</a>
<?php echo substr($item->get_description(), 0, 90); ?>
<span>...</span>
<a href="<?php echo $item->get_permalink(); ?>" target="_blank" class="btn btn-primary btn-sm">Lire l'article</a>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
Pour aller plus loin :
Le premier bout de code ci-dessus vous permet d’afficher le flux RSS avec le titre de l’article, la description dans un grid de 3 colonnes. Nous allons voir comment récupérer et afficher l’image à la une ou « thumbnail ».
Tout ce que vous avez à faire est de rajouter ce code au fichier index.php ou custom-template.php:
<div class="container">
<h2 class="text-dark">Afficher les articles à partir d'un flux RSS</h2>
<div class="row">
<?php if(function_exists('fetch_feed')) {
include_once(ABSPATH.WPINC.'/feed.php');
$feed = fetch_feed('url'); // change to your own url
$limit = $feed->get_item_quantity(6); // specify number of items
$items = $feed->get_items(0, $limit); // create an array of items
// we load the attributes into $thumbAttr
// you can either use the namespace prefix
}
if ($limit == 0) echo '<div>The feed is empty or unavailable.</div>';
else foreach ($items as $item) : ?>
<div class="col-md-4 pb-3">
<div class="card">
<?php
//Use regular expressions to find all images in the post
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $item->get_content(), $matches);
//Grab the first image to use as a thumbnail
$first_img = $matches [1][0];
//If an image exists, display it
if($first_img) {echo '<img src="'.$first_img.'" alt="'.$item->get_title().'" />';}
?>
<div class="card-body">
<a href="<?php echo $item->get_permalink(); ?>"
title="<?php echo $item->get_date('j F Y @ g:i a'); ?>">
<h5 class="card-title"><?php echo $item->get_title(); ?> </h5>
<span class="date"><i class="fa fa-calendar-check"></i> <?php echo $item->get_date('j F Y @ g:i a'); ?></span>
</a>
<?php echo substr($item->get_description(), 0, 90); ?>
<span>...</span>
<a href="<?php echo $item->get_permalink(); ?>" target="_blank" class="btn btn-primary btn-sm stretched-link">Lire l'article</a>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
Afficher le flux RSS dans WordPress avec plugin.
Pour récupérer le flux RSS et afficher sur un site wordpress, il vous faut se rendre sur cette page et télécharger l’extension gratuite : WordPress RSS Feed Retrieve