Comment ajouter l'image de Une des articles au flux RSS de son blog WordPress

 

Même si le RSS a été légèrement ringardisé par la vogue des réseaux sociaux, il est toujours possible d'obtenir le flux RSS des articles de son blog WordPress. Par exemple, l'URL du flux RSS de celui-ci est http://blog.kdj-webdesign.com/feed/.

Seul souci, le flux RSS par défaut ne comporte pas de balise image affichant l'image de « Une » (l'image que vous sélectionnez dans le bloc « Image mise en avant »). Pour le rajouter, la solution couramment employée est d'ajouter ce code au fichier functions.php de votre thème :


// ajout de l'image a la Une dans le flux RSS
add_action('rss2_item', 'add_my_rss_node');

function add_my_rss_node() {
  global $post;
  if(has_post_thumbnail($post->ID)):
    $thumbnail = get_attachment_link(get_post_thumbnail_id($post->ID));
    echo("<image>{$thumbnail}</image>");
  endif;
}

 

Mais, dans le cas d'un de mes blogs le plus récents, au lieu de renvoyer l'URL d'un fichier JPG, cela me renvoyait l'URL d'une page WordPress d'affichage de média. Pas vraiment ce que je souhaitais…

La solution ? Au lieu de la fonction get_attachment_link(), utiliser la fonction wp_get_attachment_url()

// ajout de l'image a la Une dans le flux RSS
add_action('rss2_item', 'add_my_rss_node');

function add_my_rss_node() {
  global $post;
  if(has_post_thumbnail($post->ID)):
    $thumbnail = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); 
    echo("<image>{$thumbnail}</image>");
  endif;
}
Karine SANCHE

Partager cet article