Afficher un flux RSS sur son blog wordpress
Vous le savez très certainement mais il est possible et très facilement d’afficher des flux RSS d’autres sites directement dans sa barre latérale ou ailleurs, c’est selon l’envie et vos compétences! Pour afficher facilement un flux il suffit d’aller dans la sélection des widgets de votre thème et de sélectionner « Flux ».
Mais ce que vous ne savez pas c’est que vous pouvez en faire plus avec un flux et faire un peu de mise en page, dans ce cas le widget ne vous servira plus à rien il va falloir bidouiller un peu. Voici un bout de code qui permet d’extraire l’image d’un flux et de l’afficher à côté du texte, l’affichage sera donc plus élégant.
< ?php
$url = 'http://www.votreurldeflux.com/';
$rss = fetch_feed( $url );
// Figure out how many total items there are, but limit it to 5.
$maxitems = $rss->get_item_quantity(1);
// Build an array of all the items, starting with element 0 (first element).
$rss_items = $rss->get_items(0, $maxitems);
if ($maxitems == 0) echo '
No items. ';
else
// Loop through each feed item and display each item as a hyperlink.
foreach ( $rss_items as $item ) :
$feedDescription = $item->get_content();
$image = returnImage($feedDescription);
$image = scrapeImage($image);
echo '';
?>
< ?php echo $item->get_title(); ?>
< ?php
$description = strip_tags( $feedDescription );
$char_limit = 180;
if( strlen( $description ) > $char_limit ) {
$description = substr( $description, 0, $char_limit ) . ' ... ';
}
echo $description; ?>
< ?php endforeach; ?>
Mais lorsque le flux RSS que vous diffusez (celui qui ne vous appartient pas donc) part en carafe et bien cela fait une belle erreur fatale (ce qui fut le cas sur mon blog de décoration hier). Alors voici comment en 5 secondes faire en sorte que tout ne plante pas :
< ?php
$url = 'http://www.votreurldeflux.com/';
$feed = fetch_feed( $url );
if ( is_wp_error( $feed ) ) {
echo $rss->get_error_message(); // tout ce que vous voulez afficher par défaut
} else {
// do your stuff here
}
?>
A vous de faire un peu de mise en forme! Mais c’est qui est utilisé sur les articles des partenaires sur le blog de décoration.
Source trac WP
5 commentaires sur “Afficher un flux RSS sur son blog wordpress”
Les commentaires sont fermés.
Jfile tester cette méthode de ce pas car avoir l’image est vraiment un plus comparé à ma méthode ! :)
De façon générale, une fois la fonction fetch_feed() appellé, on obtiens un objet SimplePie.
Ce qui offre toutes les possibilites de cette librairie :
http://simplepie.org/
Yep c’est vrai! Mais tu noteras que la gestion de l’erreur déconne avec cette fonction, enfin j’ai constaté qu’il fallait modifier l’affichage pour éviter d’avoir une sidebar avec des erreurs fatales de wordpress ;)
De mémoire cette fonction intègre un système de cache, tu confirmes?
Euh ? A quoi bon tout ça alors qu’on peut utiliser un plugin dédié ne réclamant aucune compétence technique ?
C’est vrai martin mais il me semble que le plugin ne permet pas de mise en page poussée ou l’affichage des images, est ce que je me trompe?