Créer un nouveau flux RSS personnalisé sous WordPress

rss logo 1

Écrit par

dans

 Voici un bout de code bien utile qui vous permettra de créer un nouveaux flux RSS sous WordPress.

En effet, nous avons parfois besoin de fournir un flux RSS indépendant du flux natif. Pour cela, il existe un bout de code que j’ai découvert sur Yoast!

 

1) Créez un nouveau modèle de page intitulé pagerss.php

Partez d’une page vierge sous Notepad et insérez-y le code suivant, avant de le mettre en ligne dans le dossier de votre thème :

<?php
/*
Template Name: Custom Feed
*/

$numposts = 10;

function custom_rss_date( $timestamp = null ) {
$timestamp = ($timestamp==null) ? time() : $timestamp;
echo date(DATE_RSS, $timestamp);
}

$posts = query_posts(‘showposts=’.$numposts);

Fan de l’éco-système WordPress ? Découvrez le Best-of de mes articles sur WordPress ainsi que mes extensions WordPress pour faire briller votre site!

$lastpost = $numposts – 1;

header(« Content-Type: application/rss+xml; charset=UTF-8 »);
echo ‘<?xml version= »1.0″?>’;
?><rss version= »2.0″>
<channel>
<title>Votre titre</title>
<link>Votre URL</link>
<description>Votre description</description>
<language>fr-fr</language>
<pubDate><?php custom_rss_date( strtotime($ps[$lastpost]->post_date_gmt) ); ?></pubDate>
<lastBuildDate><?php custom_rss_date( strtotime($ps[$lastpost]->post_date_gmt) ); ?></lastBuildDate>
<managingEditor>Votre mail</managingEditor>
<?php foreach ($posts as $post) { ?>
<item>
<title><?php echo get_the_title($post->ID); ?></title>
<link><?php echo get_permalink($post->ID); ?></link>
<description><![CDATA[<?php echo $post->post_content; ?>]]></description>
<pubDate><?php custom_rss_date( strtotime($post->post_date_gmt) ); ?></pubDate>
<guid><?php echo get_permalink($post->ID); ?></guid>
</item>
<?php } ?>
</channel>
</rss>

Vous pouvez remplacer les champs « Votre … » par vos champs à vous.

2) Créer une nouvelle page sous WordPress

Publiez une nouvelle page depuis votre admin WordPress, en lui affiliant le modèle de page « Custom Feed » que nous venons de créer ci-dessus.

3) Lancez votre page publiée

Une fois la page publiée, lancez-la. Vous devriez voir votre nouveau flux RSS !

Commentaires

7 réponses à « Créer un nouveau flux RSS personnalisé sous WordPress »

  1. Avatar de Witi
    Witi

    Merci pour cet article qui est une très bonne traduction. Cela dit, ne serait-il pas plus pertinent d’en donner la source ?

    Au lieu de renommer bêtement une demi fonction, je trouverais ça nettement plus « fair play » de citer : http://yoast.com/custom-rss-feeds-wordpress/

    Cordialement

    1. Avatar de Tulipemaster
      Tulipemaster

      Au temps pour moi, merci de me l’avoir rappelé, j’ai ajouté la source à l’article.

  2. Avatar de Witi
    Witi

    Pas de soucis, j’en profite pour te faire remarquer qu’il reste donc une fonction « yoast_rss_date » dans celle que tu donnes 😉

    1. Avatar de Tulipemaster
      Tulipemaster

      Exact, merci beaucoup, c’est corrigé. Décidément, c’était pas mon jour 🙂

  3. Avatar de Clément

    Bonjour, merci pour ce petit article, j’ai un petit soucis, j’ai une erreur sur la première ligne lorsque j’essaye de charger la page créée:

    Parse error: syntax error, unexpected T_VARIABLE

    j’ai cherché des solutions, mais je n’ai toujours rien trouvé, savez vous d’où cela peut venir ?
    merci d’avance

  4. Avatar de bracelet sante

    Merci pour le tuto, c’est vraiment mieux un beau template de page dédié au rss.

  5. Avatar de qwanturank

    Merci pour ce Tuto

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *