Extension du flux RSS WordPress par défaut

Parfois, vous devrez peut-être améliorer votre présence en ligne et toucher un public plus large en soumettant votre contenu en dehors de votre site Web. Par exemple, vous pouvez rendre vos publications disponibles sur les agrégateurs de réseaux sociaux les plus populaires, ou sur des appareils mobiles, ou publier vos podcasts audio / vidéo sur des magasins numériques..

Dans la plupart des cas, il est nécessaire de personnaliser le flux RSS pour le rendre approprié pour la publication en ajoutant des métadonnées personnalisées..

Dans ce didacticiel, nous verrons comment atteindre cet objectif pour deux plates-formes majeures: Flipboard et iTunes Store, mais le code est facilement personnalisable pour d'autres plates-formes et services Web..


introduction

Flipboard est une application d'agrégation de réseaux sociaux pour appareils Android et iOS qui extrait périodiquement le contenu de votre site Web et le présente sous forme de magazine afin que les utilisateurs mobiles puissent lire vos actualités via l'application installée sur leur smartphone ou leur tablette. iTunes Store est un magasin multimédia numérique en ligne sur lequel vous pouvez publier vos podcasts audio ou vidéo..

L'abonnement aux deux services est gratuit mais il est sujet à approbation, en particulier dans le cas de Flipboard qui semble n'accepter que des sites Web avec un nombre important de lecteurs..

Ils vous permettent tous les deux de publier du contenu via le flux RSS de votre blog, mais cela doit être conforme à leurs spécifications. Heureusement, WordPress permet aux développeurs de modifier la structure par défaut des flux RSS.


Étape 1: La structure par défaut des flux RSS WordPress

Par défaut, WordPress est fourni avec différents flux. Dans ce tutoriel, nous utiliserons le flux RSS 2.0 disponible à l'adresse http://example.com/?feed=rss2 ou http://example.com/feed/ si vous utilisez des permaliens. Ce flux est un simple document XML structuré comme suit:

   xmlns: content = "http://purl.org/rss/1.0/modules/content/" xmlns: wfw = "http://wellformedweb.org/CommentAPI/" xmlns: dc = "http://purl.org /dc/elements/1.1/ "xmlns: atom =" http://www.w3.org/2005/Atom "xmlns: sy =" http://purl.org/rss/1.0/modules/syndication/ "xmlns : slash = "http://purl.org/rss/1.0/modules/slash/">   Titre de votre blog  http://votre-site-url.com votre description de blog Jeu., 27 sept. 2012 18:30:06 +0000 en-US toutes les heures 1 http://wordpress.org/?v=3.4.2   Titre 1 http://votre-site-url.com/post-1-slug http://votre-site-url.com/post-1-slug#comments Mar. 15 mai 2012 13:47:12 +0000 John Doe  http://votre-site-url.com/?p=1  Aliquam rutrum placerat aliquet. Mécène congue felis erat.

]]>
http://votre-site-url.com/post-1-slug/feed 0
Titre 2 http://votre-site-url.com/post-2-slug http://votre-site-url.com/post-2-slug#comments Mar. 15 mai 2012 13:37:56 +0000 John Doe http://votre-site-url.com/?p=2 Aliquam Rutrum Aliquet placerat

]]>
http://votre-site-url.com/post-2-slug/feed 0

Comme vous pouvez le voir, chacun element représente une publication et contient plusieurs sous-éléments, chacun lié à cette "composante" de publication. Les principaux sont:

  • </code> est le titre du post</li> <li> <code><link></code> est le post permalien</li> <li> <code><pubDate></code> est la date de publication après publication au format RFC822 </li> <li> <code><dc:creator></code> est le nom de l'auteur de la publication</li> <li> <code><dc:category></code> est un sous-ensemble d'éléments, un pour chaque catégorie de poste</li> <li> <code><description></code> est le post extrait sans balises HTML</li> <li> <code><content:encoded></code> est le contenu entier du message avec les balises HTML</li> </ul> <hr> <h2> Étape 2 Personnaliser le flux RSS pour Flipboard</h2> <p>Selon les exigences techniques de Flipboard, il est possible d'améliorer le contenu.</p> <blockquote> <p>en fournissant une sémantique supplémentaire dans le balisage d'article, en ajoutant la possibilité de spécifier des citations à tirer, des diaporamas et d'autres éléments de conception</p> </blockquote> <p>Ces sémantiques supplémentaires sont:</p> <ul> <li>Titre et sous-titre</li> <li>Tirez des citations</li> <li>Ressources image, vidéo et audio</li> <li>Diaporamas</li> <li>Information géographique</li> </ul> <p>Nous pouvons implémenter cette sémantique dans notre flux RSS via un plugin. Comme indiqué, WordPress fournit des points d’accouplement spécifiques qui vous permettent de modifier la structure par défaut des flux RSS:</p> <ul> <li> <code>rss2_ns</code> - permet d'ajouter de nouveaux espaces de noms à l'intérieur de l'élément XML racine;</li> <li> <code>rss2_head</code> - permet d'ajouter pour ajouter des balises dans l'en-tête du flux;</li> <li> <code>le_contenu_feed</code> - permet de modifier le contenu de chaque publication affichée dans le fil;</li> <li> <code>rss2_item</code> - permet d'ajouter de nouveaux sous-éléments à chaque <code><item></code> Élément (post);</li> </ul> <p>Créez un nouveau fichier appelé <strong>flipboard-feed.php</strong>, ouvrez-le dans votre éditeur de texte préféré et collez cet en-tête de plugin:</p> <pre> <?php /* * Plugin Name: Flipboard RSS Feed * Plugin URI: http://www.studio404.it * Description: A plugin to customize the default RSS Feed according to Flipboard technical specifications. * Version: 1.0 * Author: Claudio Simeone * Author URI: http://www.studio404.it */ ?></pre> <p>Copiez le fichier dans votre <strong>/ wp-content / plugins /</strong> répertoire et l'activer à partir du <strong>Plugins</strong> page d'administration.</p> <h3>Titre et sous-titre</h3> <p>Si vous souhaitez ajouter un titre et un sous-titre avant le contenu du message, vous devez ajouter quelque chose comme:</p> <pre> <hgroup> <h1>Titre de la publication</h1> <h2>Ceci est le sous-titre du message</h2> </hgroup></pre> <p>Vous pouvez également ajouter cela manuellement au contenu du message, dans l'éditeur de texte, mais ce n'est pas une solution optimale, car ces balises seront également affichées sur votre site Web (à moins que vous ne masquiez pas <code>hgroup</code> élément à travers un style CSS). Donc, pour y parvenir automatiquement et <em>uniquement dans le flux RSS</em>, il est préférable d'utiliser le titre de poste pour la <code><h1></code> élément et un champ personnalisé pour la <code><h2></code> Sous-titre.</p> <p>Dans votre page d'édition, ajoutez un <code>flipboard_subtitle</code> Champ personnalisé.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed.jpg"> <p>Ajoutez ces lignes à notre <strong>Flux RSS Flipboard</strong> brancher:</p> <pre> add_filter ('the_content_feed', 'flipboard_title_and_subtitle'); fonction flipboard_title_and_subtitle ($ content) global $ post; $ post_subtitle = get_post_meta ($ post-> ID, 'flipboard_subtitle', TRUE); // ajoute hgroup uniquement si le champ personnalisé est défini si ($ post_subtitle) $ hgroup = '<hgroup><h1>'. $ post-> post_title. '</h1>'; $ hgroup. = '<h2>'. $ post_soustitle. '</h2></hgroup>'; retourne $ hgroup. $ contenu; else return $ content; </pre> <p>Maintenant, si vous publiez le message et actualisez votre source de page de flux RSS, vous verrez le <code>hgroup</code> tag avant le contenu du message.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_2.jpg"> <h3>Tirez des citations</h3> <p>Pour les citations à tirer, vous pouvez utiliser dans votre contenu de publication la <code><blockquote></code> balise pour souligner certaines parties du texte. Nous pouvons profiter du plugin pour remplacer le <code><blockquote></code> avec le <code><aside></code> étiquette.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_3.jpg"> <p>Ajoutez ces lignes à notre <strong>Flux RSS Flipboard</strong> brancher:</p> <pre> add_filter ('the_content_feed', 'flipboard_pull_quotes'); function flipboard_pull_quotes ($ content) // remplace la balise blockquote par side return str_replace ('blockquote>', 'apartement' ', $ content); </pre> <p>Rechargez votre source de page RSS Feed, vous verrez la nouvelle <code><aside></code> étiquette.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_4.jpg"> <h3>Image</h3> <p>Pour tous ces éléments, nous suivrons une autre méthode suggérée par Flipboard: au lieu de mettre la sémantique directement dans le contenu du message, nous allons ajouter un nouveau sous-ensemble d’éléments Media RSS à la liste. <code><item></code> élément.</p> <p>Media RSS est une extension RSS qui améliore la publication de fichiers multimédias dans les flux RSS. Les fichiers image, vidéo et audio et leurs métadonnées peuvent être inclus dans les flux RSS grâce à ses éléments spéciaux.</p> <p>Dans notre cas, nous utiliserons le principal d'entre eux: <code><media:content></code>.</p> <p>De plus, nous avons également besoin de l’extension GeoRSS pour prendre en charge les informations géographiques. Nous devons donc ajouter les espaces de noms corrects au flux RSS pour les rendre valides..</p> <p>Ajoutez ces lignes à notre <strong>Flux RSS Flipboard</strong> brancher:</p> <pre> add_filter ('rss2_ns', 'flipboard_namespace'); function flipboard_namespace () echo 'xmlns: media = "http://search.yahoo.com/mrss/" xmlns: georss = "http://www.georss.org/georss"'; </pre> <p>Et le résultat sera:</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_5.jpg"> <p>Nous souhaitons maintenant ajouter à notre flux RSS toutes les images attachées à nos publications. Nous devons faire quelque chose comme:</p> <pre> <item> <!-- Full item markup omitted for brevity --> <media:content type="image/jpeg" media="image" url="http://media.example.com/kitten-landscape.jpg"> <media:description type="plain">Un chaton adorable</media:description> <media:copyright>Carl Carlson</media:copyright> </media:content> </item></pre> <p>le <code><media:content></code> element supporte deux sous-éléments: <code><media:description></code> est la légende utilisée pour l'image et dans WordPress est le titre de l'image, tandis que <code><media:copyright></code> contient les informations de copyright ou le crédit pour l'auteur de l'image.</p> <p>Maintenant, nous allons implémenter cela dans notre flux WordPress. Ecrivez un message et attachez-lui des images (notez que les images doivent avoir au moins 400 pixels dans la plus petite dimension):</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_6.jpg"> <p>Publiez le message, puis ajoutez ces lignes à notre <strong>Flux RSS Flipboard</strong> brancher:</p> <pre> add_filter ('rss2_item', 'flipboard_attached_images'); fonction flipboard_attached_images () global $ post; $ attachments = get_posts (array ('post_type' => 'pièce jointe', 'post_mime_type' => 'image', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'exclude' => get_post_thumbnail_id ()); if ($ attachments) foreach ($ attachments as $ att) $ img_attr = wp_get_attachment_image_src ($ att-> ID, 'complet'); ?> <media:content url="<?php echo $img_attr[0]; ?>"type ="<?php echo $att->post_mime_type; ?> "medium =" image "> <media:description type="plain"><![CDATA[<?php echo $att->titre de l'article; ?>]]></media:description> <media:copyright><?php echo get_the_author(); ?></media:copyright> </media:content> <?php </pre> <p>Rechargez votre source de page de flux RSS, vous verrez un <code><media:content></code> élément pour chaque image jointe.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_7.jpg"> <p>Une brève note sur le <code><media:group></code> élément: il peut être utilisé pour fournir des cultures et des tailles de remplacement de la même image, par exemple les versions portrait / paysage.</p> <h3>Vidéo</h3> <p>Pour les fichiers vidéo, Flipboard suggère d’utiliser ce code:</p> <pre> <media:content url="http://www.example.com/lisa-saxophone.mp4" type="video/mp4"> <media:description type="plain">Lisa joue du saxophone</media:description> <media:thumbnail url="http://www.example.com/lisa-saxophone.jpg" /> <media:copyright>Carl Carlson</media:copyright> </media:content></pre> <p>Ici nous avons un nouveau sous-élément: <code><media:thumbnail></code>: il spécifie simplement une image d'aperçu pour la vidéo. Cela peut s'avérer un peu délicat, car nous avons besoin d'un moyen de créer une connexion directe entre la vidéo jointe et son image d'aperçu et d'indiquer à WordPress que les deux fichiers sont connectés. Nous pouvons procéder de cette façon:</p> <ol> <li>Ajouter une nouvelle publication et y attacher une ou plusieurs vidéos / audio <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_8.jpg"> </li> <li>dans le <strong>Médiathèque</strong> page, téléchargez l'image d'aperçu, notez les dimensions de l'image et copiez l'image URL du fichier <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_9.jpg"> </li> <li>dans le <strong>Médiathèque</strong> trouver la vidéo, la modifier et coller l’URL de l’image dans le <strong>La description</strong> terrain et <em>également</em> ajoute la largeur et la hauteur de l'image, chacune étant séparée par un caractère de pipeline "<code>|</code>". Ceci est nécessaire pour définir les dimensions correctes de l'image. <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_10.jpg"> </li> </ol> <p>Il est maintenant temps de mettre la vidéo dans notre flux RSS. Ajoutez ces lignes à notre <strong>Flux RSS Flipboard</strong> brancher:</p> <pre> add_filter ('rss2_item', 'flipboard_attached_videos'); fonction flipboard_attached_videos () global $ post; $ attachments = get_posts (array ('post_type' => 'pièce jointe', 'post_mime_type' => 'video', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'exclude' => get_post_thumbnail_id ()); if ($ attachments) foreach ($ attachments as $ att) $ video_url = wp_get_attachment_url ($ att-> ID); $ parts = explode ('|', $ att-> post_content); ?> <media:content url="<?php echo $video_url; ?>"type ="<?php echo $att->post_mime_type; ?> "> <media:description type="plain"><![CDATA[<?php echo $att->titre de l'article; ?>]]></media:description> <media:copyright><?php echo get_the_author(); ?></media:copyright> <media:thumbnail url="<?php echo $parts[0]; ?>"/> </media:content> <?php </pre> <p>Et voici le résultat final:</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_11.jpg"> <h3>l'audio</h3> <p>Le code Fliboard pour les fichiers audio est:</p> <pre> <media:content url="http://www.example.com/bartman.mp3" fileSize="1000" type="audio/mpeg" > <media:description type="plain">Lisa joue du saxophone</media:description> <media:thumbnail url="http://www.example.com/lisa-saxophone.jpg" /> <media:copyright>Carl Carlson</media:copyright> </media:content></pre> <p>Comme vous pouvez le constater, il s’agit essentiellement de la vidéo: pour joindre l’aperçu de l’image au fichier audio, nous pouvons utiliser la même méthode que nous avons suivie pour les vidéos..</p> <p>Alors, ajoutez ces lignes dans notre plugin:</p> <pre> add_filter ('rss2_item', 'flipboard_attached_audio'); fonction flipboard_attached_audio () global $ post; $ attachments = get_posts (array ('post_type' => 'pièce jointe', 'post_mime_type' => 'audio', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'exclude' => get_post_thumbnail_id ()); if ($ attachments) foreach ($ attachments as $ att) $ audio_url = wp_get_attachment_url ($ att-> ID); $ parts = explode ('|', $ att-> post_content); $ headers = get_headers ($ audio_url, 1); $ taille du fichier = $ en-têtes ['Content-Length']; ?> <media:content url="<?php echo $audio_url; ?>"fileSize ="<?php echo $filesize; ?>"type ="<?php echo $att->post_mime_type; ?> "> <media:description type="plain"><![CDATA[<?php echo $att->titre de l'article; ?>]]></media:description> <media:copyright><?php echo get_the_author(); ?></media:copyright> <media:thumbnail url="<?php echo $parts[0]; ?>"/> </media:content> <?php </pre> <h3>Diaporamas</h3> <p>Pour ajouter toutes les images attachées à une publication dans un format de diaporama, nous devons ajouter une partie du code HTML au contenu de la publication de flux RSS:</p> <pre> <section> <h1>Mes animaux préférés</h1> <figure> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_12.jpg"> <figcaption>Les chiots sont mignons</figcaption> </figure> <figure> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_12.jpg"> <figcaption>Les chatons aussi</figcaption> </figure> <figure> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_12.jpg"> <figcaption>Et les bébés moutons deviennent des brebis</figcaption> </figure> </section></pre> <p>Ajoutez ces lignes dans notre plugin:</p> <pre> add_filter ('the_content_feed', 'flipboard_slideshow'); fonction flipboard_slideshow ($ content) global $ post; $ attachments = get_posts (array ('post_type' => 'pièce jointe', 'post_mime_type' => 'image', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'exclude' => get_post_thumbnail_id ()); if ($ attachments) $ slide = '<section><h1>'. $ post-> post_title. '</h1>'; foreach ($ attachments as $ att) $ img_attr = wp_get_attachment_image_src ($ att-> ID, 'complet'); $ slide. = '<figure> <img src="//accentsconagua.com/img/' . $img_attr[0] . '"> <figcaption>'. $ att-> post_title. '</figcaption> </figure>'; $ slide. = '</section>'; retourne $ contenu. $ slide; else return $ content; </pre> <p>Et voici le résultat:</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_12.jpg"> <h3>Information géographique</h3> <p>Pour afficher des informations géographiques, nous pouvons utiliser un champ personnalisé comme nous l'avons fait pour le <code>hgroup</code> Sous-titre.</p> <p>Ainsi, dans votre page Modifier le message, ajoutez un <code>flipboard_geo</code> Champ personnalisé et définissez la valeur dans un format comme celui-ci: <code>45.256 -71.92</code> (une liste complète des tags supportés est disponible dans la documentation GeoRSS).</p> <p>Ajoutez ces lignes à notre <strong>Flux RSS Flipboard</strong> brancher:</p> <pre> add_filter ('the_content_feed', 'flipboard_geo'); fonction flipboard_geo ($ content) global $ post; $ flipboard_geo = get_post_meta ($ post-> ID, 'flipboard_geo', TRUE); if ($ flipboard_geo) $ geo = '<georss:poin>'. $ flipboard_geo. '</georss:point>'; retourne $ contenu. $ geo; else return $ content; </pre> <h3>Soumettez votre flux à Flipboard</h3> <p>Une fois le flux RSS prêt, vous pouvez demander à Flipboard de l'inclure dans ses sources d'actualités: vous devez contacter le personnel de Flipboard par e-mail, y compris votre URL de flux RSS, Twitter, Facebook et les informations relatives à votre site Web. Le personnel examinera toutes les informations et vous le fera savoir dans les 5 jours ouvrables..</p> <hr> <h2> Étape 3 Personnalisez le flux RSS de vos podcasts sur iTunes</h2> <p>Pour publier nos podcasts audio ou vidéo sur Apple iTunes, nous devons formater le flux RSS conformément aux spécifications techniques d'iTunes via un nouveau plugin:</p> <p>Créez un nouveau fichier appelé <strong>itunes-feed.php</strong>, ouvrez-le dans votre éditeur de texte préféré et collez-le:</p> <pre> <?php /* * Plugin Name: iTunes RSS Feed * Plugin URI: http://www.studio404.it * Description: A plugin to customize the default RSS Feed according to iTunes technical specifications. * Version: 1.0 * Author: Claudio Simeone * Author URI: http://www.studio404.it */ ?></pre> <p>Copiez le fichier dans votre <strong>/ wp-content / plugins /</strong> répertoire et l'activer dans le <strong>Plugins</strong> page d'administration.</p> <h3>iTunes Namespace</h3> <p>Pour ajouter l’espace de noms iTunes et prendre en charge les balises méta spécifiques à iTunes, nous pouvons utiliser le <code>rss2_ns</code> filtre:</p> <pre> add_filter ('rss2_ns', 'itunes_namespace'); // Ajout de la fonction d'espace de noms itunes_namespace () echo 'xmlns: itunes = "http://www.itunes.com/dtds/podcast-1.0.dtd"'; </pre> <h3>Tags tête iTunes</h3> <p>La prochaine étape consiste à ajouter diverses informations qui aideront iTunes à mieux catégoriser votre flux dans le magasin et à afficher des informations détaillées sur votre chaîne de podcast..</p> <p>Nous pouvons ajouter toutes ces informations via <code>rss2_head</code> filtre:</p> <pre> add_filter ('rss2_head', 'itunes_head'); fonction itunes_head () ?> <itunes:subtitle>Un spectacle sur tout</itunes:subtitle> <itunes:author>John Doe</itunes:author> <itunes:summary>Tout sur tout est un spectacle sur tout… </itunes:summary> <itunes:owner> <itunes:name>John Doe</itunes:name> <itunes:email>john.doe@example.com</itunes:email> </itunes:owner> <itunes:image href="http://example.com/podcasts/everything/AllAboutEverything.jpg" /> <itunes:category text="Technology"> <itunes:category text="Gadgets"/> </itunes:category> <?php </pre> <p>Par souci de brièveté pour ce tutoriel, l'exemple est statique. Vous pouvez modifier toutes les informations manuellement dans le code source du plugin. Si vous préférez le rendre dynamique, vous pouvez créer une page d'option pour gérer toutes ces informations (voir aussi: <strong>Gestion des options de plugins dans WordPress 2.8 avec register_setting ()</strong> par Ozh).</p> <h3>Tags iTunes</h3> <p>Pour chaque publication, iTunes demande l'ajout de balises supplémentaires:</p> <pre> <itunes:author>John Doe</itunes:author> <itunes:subtitle>Petite introduction sur les épices de table</itunes:subtitle> <itunes:summary>Cette semaine, nous parlons de salière et de poivrière… </itunes:summary> <itunes:image href="http://example.com/podcasts/everything/AllAboutEverything/Episode1.jpg" /> <enclosure url="http://example.com/podcasts/everything/AllAboutEverythingEpisode3.m4a" length="8727310" type="audio/x-m4a" /> <guid>http://example.com/podcasts/archive/aae20050615.m4a</guid> <itunes:duration>7h04</itunes:duration> <itunes:keywords>sel, poivre, shaker, excitant</itunes:keywords></pre> <p>Nous pouvons gérer certaines de ces informations comme ceci:</p> <ul> <li> <strong>auteur</strong>: nous utiliserons l'auteur de la publication</li> <li> <strong>Sous-titre</strong>: nous allons utiliser le titre de la pièce jointe</li> <li> <strong>résumé</strong>: nous allons utiliser la légende de pièce jointe</li> <li> <strong>durée</strong>: nous allons utiliser la description de pièce jointe</li> <li> <strong>mots clés</strong>: nous allons utiliser les balises Post</li> </ul> <p>Écrivez un nouveau message, ajoutez un titre, du contenu et des balises. Ensuite, joignez un fichier audio à la poste.</p> <p>Une fois le fichier téléchargé, ajoutez d'autres informations: Titre, Légende et utilisez le champ Description pour spécifier la durée..</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_13.jpg"> <p>Ajouter une image sélectionnée à la publication et enfin la publier.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_14.jpg"> <p>Maintenant, ajoutez ces lignes dans notre <strong>itunes-feed.php</strong> brancher:</p> <pre> // ajout du support pour les miniatures postales que nous utiliserons pour les couvertures de podcast add_theme_support ('post-miniatures'); // iTunes préfère les images .jpg carrées d'au moins 400 x 400 pixels. add_image_size ('itunes-cover', 400, 400, true); fonction itunes_attached_audio () global $ post; $ attachments = get_posts (array ('post_type' => 'pièce jointe', 'post_mime_type' => 'audio', // si vous utilisez des vidéos, changez ici 'posts_per_page' => -1, 'post_parent' => $ post- > ID, 'exclude' => get_post_thumbnail_id ())); // utilise les balises de publication pour itunes: keywords $ itunes_keywords_arr = get_the_tags (); if ($ itunes_keywords_arr) foreach ($ itunes_keywords_arr as $ tag) $ itunes_keywords. = $ tag-> nom. ','; $ itunes_keywords = sous_replace (trim ($ itunes_keywords), ", -1); // utilisez la vignette de publication pour itunes: image $ post_thumbnail_id = get_post_thumbnail_id ($ post-> ID); $ itunes_image_arr = wp_get_attachment_image_s itunes-cover '); if ($ pièces jointes) foreach ($ pièces jointes en tant que $ att) $ audio_url = wp_get_attachment_url ($ att-> ID); $ parts = exploser (' | ', $ att-> post_content); $ headers = get_headers ($ audio_url, 1); $ taille du fichier = $ headers ['Content-Length'];?> <itunes:author><?php echo get_the_author(); ?></itunes:author> <itunes:subtitle><?php echo $att->titre de l'article; ?></itunes:subtitle> <itunes:summary><?php echo $att->post_excerpt; ?></itunes:summary> <itunes:image href="<?php echo $itunes_image_arr[0]; ?>"/> <enclosure url="<?php echo $audio_url; ?>"longueur ="<?php echo $filesize; ?>"type ="<?php echo $att->post_mime_type; ?> "/> <guid><?php the_permalink(); ?></guid> <itunes:duration><?php echo $att->Publier un contenu; ?></itunes:duration> <itunes:keywords><?php echo $itunes_keywords; ?></itunes:keywords> <?php </pre> <p>Enfin, publiez la publication et rechargez la source de la page de flux RSS.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_15.jpg"> <hr> <h2>En conclusion</h2> <p>Bien que ce tutoriel ne couvre que deux plates-formes principales, grâce à WordPress Hooks, il est possible de personnaliser le flux RSS par défaut afin de l'adapter à d'autres applications Web externes. Pour chaque publication, vous pouvez joindre des informations supplémentaires à l'aide de nouvelles extensions RSS ou vous pouvez améliorer le contenu de la publication en fournissant du code HTML supplémentaire pour répondre aux exigences de toutes les plateformes que vous souhaitez utiliser pour publier votre contenu..</p> <hr> <h2>Références</h2> <ul> <li>Exemple Apple iTunes Feed</li> <li>Documentation GeoRSS-Simple</li> <li>Publication de contenu sur Flipboard via des flux RSS</li> <li> <strong>WordPress Crochets et Filtres</strong> <ul> <li>API WordPress Plugin</li> <li>À propos de WordPress Hooks in <em>Ajouter une colonne personnalisée dans les écrans Postes et Post types personnalisés</em></li> <li>Guide du débutant sur les actions et filtres de WordPress</li> </ul> </li> </ul> <div class="rek-block"> <center> <ins class="adsbygoogle" style="display:inline-block;width:580px;height:400px" data-ad-client="ca-pub-3810161443300697" data-ad-slot="9434875811"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </center> </div> <div class="h-alltags"> <a href="articles/code">Code</a> </div> </div> </div> </div> </div> <div class="next_posts clearfix"> <div class="n_post"> <div class="next_posts-h1 left_nh1"><a href="/articles/webdesign/extending-the-processwire-admin-using-custom-modules.html">Extension de l'Administrateur ProcessWire à l'aide de modules personnalisés</a></div> <div class="next_posts-img" style="background-image: url('//accentsconagua.com/img/images_7/extending-the-processwire-admin-using-custom-modules.png');"></div> </div> <div class="n_post"> <div class="next_posts-h1 right_nh1"><a href="/articles/code/extending-simplepie-to-parse-unique-rss-feeds.html">Extension de SimplePie pour analyser des flux RSS uniques</a></div> <div class="next_posts-img" style="background-image: url('//accentsconagua.com/img/images_27_7/extending-simplepie-to-parse-unique-rss-feeds_3.jpg');"></div> </div> </div> <footer> <div class="container"> <div class="footer-langs"> <ul class="site-langs-list"> <li><a href="https://www.accentsconagua.com"><i class="flag flag-DE"></i>Deutsch</a></li> <li><a href="https://fr.accentsconagua.com"><i class="flag flag-FR"></i>Français</a></li> <li><a href="https://nl.accentsconagua.com"><i class="flag flag-NL"></i>Nederlands</a></li> <li><a href="https://no.accentsconagua.com"><i class="flag flag-NO"></i>Norsk</a></li> <li><a href="https://sv.accentsconagua.com"><i class="flag flag-SE"></i>Svenska</a></li> <li><a href="https://it.accentsconagua.com"><i class="flag flag-IT"></i>Italiano</a></li> <li><a href="https://es.accentsconagua.com"><i class="flag flag-ES"></i>Español</a></li> <li><a href="https://ro.accentsconagua.com"><i class="flag flag-RO"></i>Românesc</a></li> </ul> </div> <div class="h-block"><a href="/">fr.accentsconagua.com</a><div class="h-block-a"></div></div> <div class="footer-text"> Informations intéressantes et conseils utiles sur la programmation. Développement de sites Web, conception de sites Web et développement Web. Tutoriels Photoshop. Création de jeux informatiques et d'applications mobiles. Devenez un programmeur professionnel à partir de zéro. </div> </div> </footer> <div class="search"> <img class="searchico" src="//accentsconagua.com/img/search.svg" alt=""> </div> <div class="modal"> <div class="modal-content"> <span class="close-button">×</span> <input class="searchmain" type="text" id="search-input" placeholder="Chercher..."> <ul class="searchli" id="results-container"></ul> </div> </div> <link rel="stylesheet" href="css/flags.css"> <link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css" /> <script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js"></script> <script> window.addEventListener("load", function(){ window.cookieconsent.initialise({ "palette": { "popup": { "background": "#edeff5", "text": "#838391" }, "button": { "background": "#4b81e8" } }, "theme": "classic", "position": "bottom-right" })}); </script> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script src="js/scripts.min.js"></script> <script src="js/common.js"></script> <link rel="stylesheet" href="css/fontawesome-all.min.css"> <script> var modal = document.querySelector(".modal"); var trigger = document.querySelector(".search"); var closeButton = document.querySelector(".close-button"); function toggleModal() { modal.classList.toggle("show-modal"); } function windowOnClick(event) { if (event.target === modal) { toggleModal(); } } trigger.addEventListener("click", toggleModal); closeButton.addEventListener("click", toggleModal); window.addEventListener("click", windowOnClick); </script> <script src="https://unpkg.com/simple-jekyll-search@1.5.0/dest/simple-jekyll-search.min.js"></script> <script> SimpleJekyllSearch({ searchInput: document.getElementById('search-input'), resultsContainer: document.getElementById('results-container'), json: '/search.json', searchResultTemplate: '<li><a href="{url}">{title}</a></li>' }) </script> <script src="jquery.unveil2.min.js"></script> <script> $('img').unveil(); </script> </body> </html>