réglages widget Feed

Widget, affichage d’un flux RSS : contrôler l’ordre de tri…

Quelque soit l’origine du flux (feed) RSS, on est obligé de constater que l’affichage se fait toujours par date des éléments, de la plus récente (ou future) à la plus ancienne.
Pourquoi ?
Parce qu’en fait si on se promène dans le source des widgets par défaut (default-widgets.php - class WP_Widget_RSS), on observe que le flux est le résultat d’une fonction (fetch_feed) qui elle même fait appelle à une classe d’un framework SimplePie. Or dans cette classe (SimplePie), le tri se fait par défaut par la date décroissante…
La solution
Il faut donc utiliser le filtre (wp_feed_options de fetch_feed) et utiliser la méthode (enable_order_by_date) qui est prévue dans la classe pour annuler ce tri d’affichage. Ce sera donc le tri du flux lui-même prévu dans la requête du site distant qui sera pris en compte.
Dans l’exemple ci-dessous, on pourrait faire un test pour n’appliquer ce filtre qu’à quelques urls…

Dans un site, ce filtre permet de conserver le tri du flux délivré par le site distant qui donne la date d’un évènement à venir, on souhaitait donc conserver la chronologie normale.

Ajouter votre commentaire

Votre adresse courriel ne sera pas publiée. Les champs requis sont signalés par *

Vous pouvez utiliser ces balises HTML et attributs : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

*