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);
$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 !
Réponses 7
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
Au temps pour moi, merci de me l’avoir rappelé, j’ai ajouté la source à l’article.
Pas de soucis, j’en profite pour te faire remarquer qu’il reste donc une fonction “yoast_rss_date” dans celle que tu donnes 😉
Exact, merci beaucoup, c’est corrigé. Décidément, c’était pas mon jour 🙂
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
Merci pour le tuto, c’est vraiment mieux un beau template de page dédié au rss.
Merci pour ce Tuto