webleads-tracker

WordPress & Référencement naturel
Mes servicesWordPress - Référencement
Hébergement WordPress
Vous êtes ici : SeoMix » WordPress » Hacks, fonctions et snippets WordPress » Exclure un format d’article du flux RSS de WordPress

Exclure un format d’article du flux RSS de WordPress

Par défaut, WordPress insère dans le flux d'actualité RSS tous les articles d'un site, ce qui est idéal pour la plupart des sites utilisant ce CMS. Si votre thème ou un de vos plugins fait appel aux formats d'articles (aside, video, gallery, ...), ils sont également tous inclus dans le flux de la même manière.

Sur WordPress, il existe des codes et fonctions pour exclure certains articles ou certaines catégories. Malheureusement, il n'y avait de pas de code pour exclure un format d'article de manière automatique (par exemple, tous les formats "Aside").

C'est désormais chose faite.

Format d'article et WordPress

Avant d'expliquer comment faire, voici une brève explication de ce qu'est un"post format" pour ceux qui ne connaissent pas.

Comme expliqué en introduction, votre thème ou un plugin peuvent activer des formats d'articles, le tout avec une simple ligne de code :

add_theme_support('post-formats', array( 'aside', 'gallery' ));

Sur WordPress, on peut activer ces formats d'article :

  • gallery
  • link
  • image
  • quote
  • status
  • video
  • audio
  • aside

C'est ensuite à votre thème ou à votre plugin d'utiliser et d'afficher de manière différente ces formats d'articles. C'est très pratique sur certains thèmes, comme par exemple l'excellent thème Diary de Peaxl.

Diary, un thème WordPress utilisant les formats d'articles

Diary, un thème WordPress utilisant les formats d'articles

Dans ce thème, les créateurs ont choisi d'utiliser les formats d'articles pour faire varier l'affichage des publications sur le site. Cela démontre d'ailleurs que l'on peut aller assez loin dans l'intégration de cette fonctionnalité dans les designs, ou encore comme ici dans l'administration de WordPress :

Un exemple d'intégration de Formats d'articles

Un exemple d'intégration de Formats d'articles

Exclure un Post Format du RSS de WordPress

Le hic, c'est qu'on utilise parfois les formats d'articles pour afficher du contenu plus décalé ou moins pertinent (ce qui d'ailleurs aurait été plus judicieux avec un custom post type, mais c'est un autre débat...).

Si vous souhaitez les exclure du flux d'actualité RSS de WordPress, il vous suffit d'utiliser le code suivant dans le fichier functions.php de votre thème, en pensant à remplacer le champ "terms" par le bon format d'article :

function seomix_filterpostformat($query) {
        if ($query->is_feed) {
                $query->set('tax_query',
                        array(          
                                array(
                                        'taxonomy' => 'post_format',
                                        'terms' => 'post-format-aside',
                                        'field' => 'slug',
                                        'operator' => 'NOT IN'
                                )
                        )
                );
        }
        return $query;
}
add_filter('parse_query','seomix_filterpostformat');

Et voilà, le tour est joué.

Merci à Nicolas Juen pour m'avoir donné cette piste de travail et à Willy Bahuaud pour une petite correction de bug à la fin.

Les thèmes relatifs

Voici les thématiques abordées par Exclure un format d’article du flux RSS de WordPress:

10 commentaires
  1. Agence web
    8 messages

    Agence web - Le 02 octobre 2012, 08:55

    Idée prochain article à moins que ça soit déjà fait mais j’utilise des Custom Post Type (et non pas des format d’article).

    Or par défaut, WordPress a un flux distinct pour les articles et pour chaque custom pour type, l’idéal sera d’avoir un seul flux avec le tout.

    Par contre, c’est vrai que plutôt de créer un type d’article personnalisé, je pourrais créer des ‘formats’ d’articles…

    Autre idée article : ajouter des champs personnalisés obligatoires et supprimer l’éditor dans un format d’article de type vidéo par exemple ;)

  2. Omnireso
    7 messages

    Omnireso - Le 02 octobre 2012, 09:02

    Merci pour cette ressource, qui permet de pallier à certaines erreurs de conception (oui, car normalement on utilise un type custom) ce qui peut être très pratique pour un blog qu’on « récupère ».

    Un bout de code de plus dans fonctions.php ;-)

  3. Arnaud
    15 messages

    Arnaud - Le 02 octobre 2012, 09:20

    Merci pour cette astuce !

    Pas si compliquée pour exclure un format de son flux rss finalement.

    Je vais tester ça :)

  4. Mikiweb
    13 messages

    Mikiweb - Le 02 octobre 2012, 09:42

    Très bon tuto qui m’a bien aidé il y a quelques semaines de cela ;)
    Merci Daniel

  5. Aurélien Denis
    15 messages

    Aurélien Denis - Le 10 octobre 2012, 15:11

    L’astuce qui tombe au moment où j’en ai besoin.. du SEO prévisionnel :p

  6. stephane
    2 messages

    stephane - Le 10 février 2013, 22:21

    Bonjour, tout d’abord merci pour votre article.
    J’ai réalisé un site sous wordpress mais je me rends compte que les articles sont bien présents dans le flux du site mais rien d’autre.

    Est-il possible de configurer ce flux rss créé automatiquement par wordpress pour que toutes les infos du site soient présentes dans le flux?
    (par exemple j’ai des évènements sur le site : utilisation du plugin « The Events Calendar » que j’aimerai avoir dans le flux RRS)

    Merci d’avance et bonne continuation!

  7. Daniel Roch
    713 messages

    Daniel Roch - Le 11 février 2013, 09:17

    Théoriquement, c’est tout à fait faisable, mais il faut voir cela au cas par cas, et ce n’est malheureusement pas le sujet de cet article.

  8. stephane
    2 messages

    stephane - Le 11 février 2013, 12:32

    Merci pour cette réponse Daniel.
    Pouvez-vous me donner une simple précision sur le fichier de configuration de flux rss à modifier en général où un plugin disponible pour ce cas?

  9. Daniel Roch
    713 messages

    Daniel Roch - Le 11 février 2013, 19:25

    Faite une recherche sur Google et vous devriez pouvoir trouver votre bonheur : théoriquement, certains plugins peuvent le faire, tout comme des services externes (Feedburner ou aute) ou encore un hack du thème.

  10. Sylvain
    1 message

    Sylvain - Le 11 mai 2013, 20:34

    Bonsoir, cela marche très bien mais cela résolue mon problème à moitié. Pour ma part je cherche le moyen de désactiver / supprimer le flux de commentaires « site_url?feed=rss2&page_id=2″.
    Une idée une piste de recherche pour un profane ?

» Commentez cet article !
(Merci de donner un vrai prénom)
(Ne sera jamais publié)
(Modèration subjective)
Html accepté <a> <i> <b> [codesyntax]CODE[/codesyntax]
» Prévisualisez votre message

© 2010-2012 SeoMix : WordPress & Référencement
Propulsé par WordPress et Daniel Roch. Logo créé par Willy-Bahuaud

Indispensable
WordPress
A propos de SeoMix
Mes servicesWordPress - Référencement
Suivez-nous !
  • 8242 abonnés
  • 195 articles
  • 4531 messages
Vous devriez lire
Seo et emarketing
Les amis
5cbe834d6576b94145f3c5233284de0a0000000000000000000000