{"id":908,"date":"2009-02-18T16:29:21","date_gmt":"2009-02-18T14:29:21","guid":{"rendered":"http:\/\/nyams.planbweb.com\/blog\/?p=908"},"modified":"2009-02-18T16:29:21","modified_gmt":"2009-02-18T14:29:21","slug":"generer-des-flux-rss-differents-pour-votre-blog-avec-wordpress","status":"publish","type":"post","link":"https:\/\/nyamsprod.com\/blog\/generer-des-flux-rss-differents-pour-votre-blog-avec-wordpress\/","title":{"rendered":"G\u00e9n\u00e9rer des flux RSS diff\u00e9rents pour votre blog avec WordPress"},"content":{"rendered":"<div class=\"message warning\">\n<p><strong>Attention:<\/strong> Les informations de ce billet sont susceptibles d'&ecirc;tre obsol&egrave;tes car vieux de plus 2 ans.<\/p>\n<p><strong>Warning: <\/strong> The information you are reading may be obsolete, this post was published more than 2 years ago.<\/p>\n<\/div><p>Vous avez mis en place votre blog et maintenant il ne vous reste plus qu&#8217;\u00e0 le diffuser et pour cela rien de plus simple que d&#8217;utiliser les flux RSS\/Atom pour permettre \u00e0 vos fans \u00e0 travers le monde de vous suivre. Mais seulement comment faire ?<!--more--><\/p>\n<p>Avec WordPress la gestion des flux RSS\/Atom est devenu tr\u00e8s simple et s&#8217;am\u00e9liore \u00e0 chaque version. Lorsque j&#8217;ai mis \u00e0 jour mon th\u00e8me, ce que j&#8217;essaie de faire r\u00e9guli\u00e8rement, je me suis pos\u00e9 la question, comment g\u00e9n\u00e9rer et g\u00e9rer de mani\u00e8re simple des flux diff\u00e9rentielles venant de mon blog, et je ne parle pas l\u00e0, de leur diffusion via un service comme feedburner.<\/p>\n<p>Un billet, un poste, un article, cela d\u00e9pend de comment vous l&#8217;appelez est identifiable selon 4 grands crit\u00e8res dans un blog.<\/p>\n<ul>\n<li>sa date de parution<\/li>\n<li>son auteur<\/li>\n<li>sa cat\u00e9gorie<\/li>\n<li>ses tags<\/li>\n<\/ul>\n<p>Ce qui est g\u00e9nial avec WordPress, c&#8217;est que depuis sa version 2.5, il est possible de fournir un flux personnalis\u00e9 de votre blog \u00e0 partir de chacun de ces crit\u00e8res et je vais vous dire comment.<\/p>\n<p><em><span style=\"color: #888888;\">Attention une connaissance des templates WordPress et du PHP sont des pr\u00e9 requis pour la suite de cette article<\/span><\/em><\/p>\n<p>Voici les quelques lignes de codes que vous devrez utiliser pour afficher dans votre template WordPress le bon flux en fonction de la page\/section de votre blog. Noter que pour utiliser \u00e0 bien ces fonctions, il vous faudra pour chaque type de section de votre blog :<\/p>\n<ol>\n<li>d\u00e9terminer l&#8217;identifiant, de la cat\u00e9gorie , de l&#8217;auteur et\/ou du tag;<\/li>\n<li>passer cette identifiant \u00e0 la fonction ad\u00e9quate qui g\u00e9n\u00e9rera l&#8217;url ad\u00e9quat du flux recherch\u00e9;<\/li>\n<\/ol>\n<p>Si vous \u00eates en train de surfer dans une section de cat\u00e9gorie, utiliser le code suivant :<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">&lt;?php\nif (is_category()) { \/\/detection de la page des categories\n$cat\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = get_the_category();\n$theID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = $cat&amp;#91;0&amp;#93;-&gt;cat_ID;\n$rss_link\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = get_category_feed_link($theID);\n$rss_description = &#039;flux RSS de la categorie : &#039; . single_cat_title();\n} ?&gt;<\/pre>\n<p>La m\u00e9thode mise \u00e0 notre disposition pour d\u00e9terminer le lien vers votre flux est <code>get_category_feed_link.<br \/>\n<\/code><br \/>\nSi vous \u00eates sur une page regroupant les postes par tag, le code ci-dessous est plus appropri\u00e9 :<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">&lt;?php\nif (is_tag()) { \/\/detection de la page des tags\n$theID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = intval(get_query_var(&#039;tag_id&#039;));\n$rss_link\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = get_tag_feed_link($theID);\n$rss_description = &#039;flux RSS du tag : &#039; .single_tag_title();\n} ?&gt;<\/pre>\n<p>La m\u00e9thode mise \u00e0 notre disposition pour d\u00e9terminier le lien RSS est <code>get_tag_feed_link<\/code><br \/>\nEnfin pour g\u00e9n\u00e9rer le flux RSS reprenant les postes d&#8217;un de vos auteurs, utiliser le code ci-dessous :<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">&lt;?php\nif (is_author()) { \/\/detection de la page des auteurs\n$author\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = (isset($_GET&amp;#91;&#039;author_name&#039;&amp;#93;)) ? get_userdatabylogin($author_name) : get_userdata(intval($author));\n$rss_link\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = get_author_feed_link($author-&gt;ID);\n$rss_description = &#039;flux RSS\u00a0 pour : &#039; . $author-&gt;nickname;\n} ?&gt; <\/pre>\n<p>La m\u00e9thode mise \u00e0 notre disposition pour d\u00e9terminer le lien RSS est <code>get_author_feed_link<\/code><br \/>\nAfin d&#8217;\u00eatre exhaustif, je reprends ici le cas le plus g\u00e9n\u00e9ral, le flux de votre site en fonction de la date de parution de vos billets :<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">&lt;?php \/\/flux g\u00e9n\u00e9ral accessible \u00e0 partir de n&#039;importe qu&#039;elle page de votre blog\n$rss_link\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 =\u00a0 get_bloginfo(&#039;rss2_url&#039;);\n$rss_description = &#039;flux RSS\u00a0 pour : &#039; . get_bloginfo(&#039;name&#039;);\n?&gt;<\/pre>\n<p>Par d\u00e9faut, vos flux seront du type RSS 2.0, mais ne vous inqui\u00e9tez pas, pour obtenir des flux de type <em>Atom<\/em> il suffit d&#8217;indiquer en deuxi\u00e8me argument de chacune des fonctions d\u00e9crites ci-dessus le mot <em>&#8216;atom&#8217;<\/em> et le tour est jouer \ud83d\ude09 .<\/p>\n<p>Un mani\u00e8re simple d&#8217;inclure le r\u00e9sultat dans le template de votre blog serait d&#8217;utiliser le code suivant \u00e0 l&#8217;endroit.<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">&lt;a href=&quot;&lt;?php echo $rss_link ?&gt;&quot; class=&quot;rss-link&quot;&gt;&lt;?php echo $rss_description; ?&gt;&lt;\/a&gt;<\/pre>\n<p>Les m\u00e9thodes d\u00e9crites ci-dessus existent depuis la version 2.5 de WordPress, mais comme elles sont peu document\u00e9es, les plus malins d&#8217;entre-vous qui ne les connaissent pas (j&#8217;ai fait partie de ces malins pendant longtemps \ud83d\ude42 ) rajoutent simplement le code <code>\/feed\/<\/code> en fin d&#8217;URL de ces diff\u00e9rentes sections pour obtenir le m\u00eame r\u00e9sultat.<\/p>\n<p>L&#8217;avantage de ces m\u00e9thodes par rapport \u00e0 l&#8217;ajout de suffixe <code>\/feed\/<\/code> et qu&#8217;elle ne n\u00e9cessite pas la connaissance \u00e0 priori de la syntaxe utilis\u00e9e pour g\u00e9n\u00e9rer les liens dans WordPress.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comment utiliser les nouvelles fonctions de Wordpress pour obtenir des flux RSS ou Atom diff\u00e9rents \u00e0 partir d&#8217;un m\u00eame blog<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[5],"tags":[49,187,201,226,227,228,253,412,467,511,520,574],"class_list":["post-908","post","type-post","status-publish","format-standard","hentry","category-web","tag-atom","tag-feedburner","tag-flux","tag-get_author_feed_link","tag-get_category_feed_link","tag-get_tag_feed_link","tag-html","tag-php","tag-rss","tag-tags","tag-template","tag-wordpress"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/posts\/908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/comments?post=908"}],"version-history":[{"count":0,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/posts\/908\/revisions"}],"wp:attachment":[{"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/media?parent=908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/categories?post=908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nyamsprod.com\/blog\/wp-json\/wp\/v2\/tags?post=908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}