Créer un nouveau flux RSS personnalisé sous WordPress

 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 :

[code]
<?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);

$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>
[/code]

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 !

 

Merci à Yoast pour ce code extrêmement pratique !

7 réponses

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

  2. 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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.