Le WordPress d'aujourd'hui, décodé pour les développeurs

Thèmes

add_theme_support(‘automatic-feed-links’) rend les flux RSS détectables

Une seule ligne de code pour que les lecteurs RSS et navigateurs détectent automatiquement les flux d'un site sans coder soi-même les balises link.

Par WordPress Développement • 7 février 2020 • 4 min de lecture • Aucun commentaire
add_theme_support('automatic-feed-links') rend les flux RSS détectables

wp_head() exécute une longue série d’actions accrochées à ce hook, mais toutes ne sont pas activées par défaut. Les balises <link rel="alternate" type="application/rss+xml"> qui permettent à un lecteur RSS ou à un navigateur de détecter les flux d’un site n’apparaissent que si le thème l’a explicitement demandé.

Beaucoup de développeurs recopient ces balises à la main dans leur fichier header.php, en dur, avec l’URL du flux codée en clair. C’est un travail inutile : une seule ligne dans functions.php fait exactement le même travail, de façon plus robuste et plus complète.

Ce que fait réellement la fonctionnalité

Déclarer add_theme_support('automatic-feed-links') accroche automatiquement une fonction du cœur de WordPress, feed_links(), au hook wp_head. Cette fonction génère les balises pour le flux général des articles, mais aussi pour le flux des commentaires du site.

function monthème_setup() {
    add_theme_support( 'automatic-feed-links' );
}
add_action( 'after_setup_theme', 'monthème_setup' );

Sur une page d’article unique, une troisième balise apparaît : le flux des commentaires spécifique à cet article, généré par feed_links_extra(), elle aussi accrochée automatiquement. Sur une page de catégorie ou de taxonomie, la balise pointe vers le flux propre à ce terme.

L'essentiel à retenir : Une déclaration ajoute les balises link nécessaires ; Couvre les flux d'articles, de commentaires et de catégories ; Évite d'écrire à la main un code déjà fourni par le cœur

Vérifier le résultat produit

Le moyen le plus simple de contrôler que la fonctionnalité est bien active consiste à afficher le code source d’une page et à chercher les balises générées dans la section <head>.

<link rel="alternate" type="application/rss+xml"
      title="Nom du site &raquo; Flux"
      href="https://exemple.test/feed/" />
<link rel="alternate" type="application/rss+xml"
      title="Nom du site &raquo; Flux des commentaires"
      href="https://exemple.test/comments/feed/" />

Si rien n’apparaît, deux causes sont fréquentes : la déclaration a été placée en dehors de after_setup_theme, ou un plugin de cache sert une version figée du head antérieure à l’activation du thème.

Quand désactiver l’un des deux flux

Certains projets souhaitent conserver le flux d’articles mais masquer celui des commentaires, notamment quand les commentaires sont désactivés sur l’ensemble du site. Un filtre ciblé permet ce réglage fin sans renoncer à la fonctionnalité native.

  • Retirer uniquement le flux des commentaires via un filtre sur feed_links_show_comments_feed.
  • Retirer le flux principal (rare) via feed_links_show_posts_feed.
  • Laisser les deux actifs si le site autorise les commentaires, cas le plus courant.
add_filter( 'feed_links_show_comments_feed', '__return_false' );

Pourquoi ne pas coder ces balises à la main

Écrire soi-même les balises paraît anodin, mais cela introduit une source de désynchronisation : si le nom du site change, si la structure des permaliens évolue, ou si un plugin de traduction modifie l’URL selon la langue, le code en dur ne suit pas. La fonction native, elle, s’appuie sur get_bloginfo() et sur les fonctions de génération d’URL du cœur, donc elle reste toujours cohérente avec la configuration réelle du site.

Un réflexe simple sur tout nouveau thème : activer cette fonctionnalité avant même de penser au design du header. Elle ne coûte rien et évite d’oublier une brique attendue par les outils de veille et certains agrégateurs.

Un flux toujours actif, même sans lien visible

Il faut noter que le flux RSS existe par défaut sur toute installation WordPress, que le thème déclare cette fonctionnalité ou non : l’URL /feed/ répond quel que soit le réglage. Ce que change automatic-feed-links, c’est uniquement la détection automatique par les logiciels clients, pas l’existence du flux lui-même.

C’est une nuance importante à expliquer à un client qui pense, à tort, qu’un flux RSS peut être totalement supprimé en retirant cette ligne de functions.php. Pour bloquer réellement l’accès aux flux, il faut passer par une redirection ou un filtre sur do_feed, une autre problématique.

En résumé

Cette fonctionnalité illustre bien la philosophie de WordPress : proposer une brique déjà écrite plutôt que de laisser chacun réinventer un bout de balisage standard. Une ligne dans after_setup_theme, et les flux du site deviennent détectables sans risque d’erreur de syntaxe ni de désynchronisation avec la configuration réelle.

Laisser un commentaire

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

Partager :

À propos de l'auteur

WordPress Développement

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi