Uitbreiding van de standaard WordPress RSS-feed

Soms moet u uw online aanwezigheid verbeteren en een breder publiek bereiken door uw inhoud buiten uw website in te dienen. U kunt bijvoorbeeld uw berichten beschikbaar maken op de meest populaire aggregators voor sociale netwerken, of beschikbaar stellen op mobiele apparaten, of uw audio- / videopodcasts publiceren in digitale winkels.

In de meeste van deze gevallen is het noodzakelijk om de RSS-feed aan te passen om deze geschikt te maken voor publicatie door aangepaste metagegevens toe te voegen.

In deze tutorial zullen we zien hoe dit doel kan worden bereikt voor twee grote platforms: Flipboard en de iTunes Store, maar de code kan eenvoudig worden aangepast voor andere platforms en webservices.


Invoering

Flipboard is een aggregatietoepassing voor sociale netwerken voor Android- en iOS-apparaten die de content periodiek van uw website haalt en presenteert in een tijdschriftformaat, zodat mobiele gebruikers uw nieuws kunnen lezen via de app die op hun smartphone of tablet is geïnstalleerd. iTunes Store is een online winkel voor digitale media waar u uw audio- of videopodcasts kunt publiceren.

Het abonnement op beide diensten is gratis, maar het is onder voorbehoud van goedkeuring, vooral in het geval van Flipboard dat alleen websites met een aanzienlijk aantal lezers lijkt te accepteren.

Beide stellen je in staat om inhoud te publiceren via de RSS-feed van je blog, maar dit moet in overeenstemming zijn met hun specificaties. Gelukkig stelt WordPress ontwikkelaars in staat om de standaard RSS Feed-structuur te wijzigen.


Stap 1 De standaard WordPress RSS Feed Structuur

WordPress wordt standaard geleverd met verschillende feeds. In deze zelfstudie gebruiken we de RSS 2.0-feed die beschikbaar is op http://example.com/?feed=rss2 of http://example.com/feed/ als je permalinks gebruikt. Deze feed is een eenvoudig XML-document dat als volgt is gestructureerd:

   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/">   Je blogtitel  http://your-site-url.com uw blogbeschrijving Do, 27 Sep 2012 18:30:06 +0000 en-US ieder uur 1 http://wordpress.org/?v=3.4.2   Post 1 titel http://your-site-url.com/post-1-slug http://your-site-url.com/post-1-slug#comments Di 15 mei 2012 13:47:12 +0000 John Doe  http://your-site-url.com/?p=1  Aliquam rutrum placerat aliquet. Maecenas congue felis erat.

]]>
http://your-site-url.com/post-1-slug/feed 0
Post 2 titel http://your-site-url.com/post-2-slug http://your-site-url.com/post-2-slug#comments Di 15 mei 2012 13:37:56 +0000 John Doe http://your-site-url.com/?p=2 Aliquam rutrum placerat aliquet

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

Zoals je kunt zien, elk element vertegenwoordigt een bericht en bevat verschillende subelementen, elk gerelateerd aan dat bericht "component". De belangrijkste zijn:

  • </code> is de berichttitel</li> <li> <code><link></code> is de post permalink</li> <li> <code><pubDate></code> is de publicatiedatum voor publicatie in RFC822-indeling </li> <li> <code><dc:creator></code> is de naam van de auteur van het bericht</li> <li> <code><dc:category></code> is een subset van elementen, één voor elke postcategorie</li> <li> <code><description></code> is het bericht uittreksel zonder HTML-tags</li> <li> <code><content:encoded></code> is de volledige berichtinhoud met HTML-tags</li> </ul> <hr> <h2> Stap 2 Pas de RSS-feed aan voor Flipboard</h2> <p>Volgens de technische vereisten van Flipboard is het mogelijk om de inhoud te verbeteren.</p> <blockquote> <p>door extra semantiek te bieden binnen de artikelopmaak, door de mogelijkheid toe te voegen pull-quotes, diavoorstellingen en andere ontwerpelementen te specificeren</p> </blockquote> <p>Deze aanvullende semantiek is:</p> <ul> <li>Titel en ondertitel</li> <li>Trek aanhalingstekens</li> <li>Beeld-, video- en audio-assets</li> <li>slideshows</li> <li>Geografische informatie</li> </ul> <p>We kunnen deze semantiek implementeren in onze RSS-feed via een plug-in. Zoals gezegd, biedt WordPress specifieke hooks waarmee u de standaard RSS Feed-structuur kunt wijzigen:</p> <ul> <li> <code>rss2_ns</code> - staat toe om nieuwe namespaces toe te voegen binnen het root XML element;</li> <li> <code>rss2_head</code> - staat toe om toe te voegen om tags toe te voegen in de feedheader;</li> <li> <code>the_content_feed</code> - staat toe om de inhoud van elke post die wordt weergegeven in de feed te wijzigen;</li> <li> <code>rss2_item</code> - staat toe om nieuwe sub-elementen toe te voegen aan elk <code><item></code> (Post) element;</li> </ul> <p>Maak een nieuw bestand met de naam <strong>Flipboard-feed.php</strong>, open het je favoriete teksteditor en plak deze plug-in header:</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>Kopieer het bestand in uw <strong>/ Wp-content / plugins /</strong> map en activeer deze vanuit de <strong>plugins</strong> admin pagina.</p> <h3>Titel en ondertitel</h3> <p>Als je een titel en een ondertitel vóór de berichtinhoud wilt toevoegen, moet je iets toevoegen als:</p> <pre> <hgroup> <h1>Titel van de post</h1> <h2>Dit is de ondertitel van Post</h2> </hgroup></pre> <p>Je zou dit ook handmatig aan de berichtinhoud kunnen toevoegen in de teksteditor, maar dat is geen optimale oplossing omdat deze tags dan ook op je website worden weergegeven (tenzij je de <code>hgroup</code> element via een CSS-stijl). Dus, om dit automatisch te bereiken en <em>alleen in de RSS-feed</em>, het is beter om de titel Post te gebruiken voor de <code><h1></code> element en een aangepast veld voor de <code><h2></code> subtitel.</p> <p>Voeg in de bewerkingspagina een a toe <code>flipboard_subtitle</code> Aangepast veld.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed.jpg"> <p>Voeg deze regels toe aan onze <strong>Flipboard RSS-feed</strong> inpluggen:</p> <pre> add_filter ('the_content_feed', 'flipboard_title_and_subtitle'); functie flipboard_title_and_subtitle ($ content) global $ post; $ post_subtitle = get_post_meta ($ post-> ID, 'flipboard_subtitle', TRUE); // hgroup alleen toevoegen als Aangepast veld is ingesteld als ($ post_subtitle) $ hgroup = '<hgroup><h1>'. $ post-> post_title. '</h1>'; $ hgroup. = '<h2>'. $ post_subtitle. '</h2></hgroup>'; return $ hgroup. $ Inhoud; else return $ content; </pre> <p>Als u nu de post publiceert en uw RSS-feedpaginabron vernieuwt, ziet u de <code>hgroup</code> tag vóór de berichtinhoud.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_2.jpg"> <h3>Pull Quotes</h3> <p>Voor pull-citaten kunt u gebruiken in uw Post-inhoud de <code><blockquote></code> tag om enkele delen van de tekst aan te duiden. We kunnen profiteren van de plug-in om de te vervangen <code><blockquote></code> met de <code><aside></code> label.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_3.jpg"> <p>Voeg deze regels toe aan onze <strong>Flipboard RSS-feed</strong> inpluggen:</p> <pre> add_filter ('the_content_feed', 'flipboard_pull_quotes'); function flipboard_pull_quotes ($ content) // vervang blockquote tag met opzij return str_replace ('blockquote>', 'aside>', $ content); </pre> <p>Laad de bron van je RSS-feed opnieuw, je ziet het nieuwe <code><aside></code> label.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_4.jpg"> <h3>Beeld</h3> <p>Voor al deze elementen zullen we een andere door Flipboard voorgestelde methode volgen: in plaats van de semantiek rechtstreeks in de berichtinhoud te plaatsen, zullen we een nieuwe subset van Media RSS-elementen toevoegen aan de <code><item></code> element.</p> <p>Media RSS is een RSS-extensie die de publicatie van multimediabestanden in RSS-feeds verbetert. Beeld-, video- en audiobestanden en hun metadata kunnen dankzij hun speciale elementen worden opgenomen in RSS-feeds.</p> <p>In ons geval zullen we de belangrijkste daarvan gebruiken: <code><media:content></code>.</p> <p>Daarnaast hebben we ook een GeoRSS-extensie nodig om geografische informatie te ondersteunen, dus we moeten de juiste naamruimten aan de RSS-feed toevoegen om deze geldig te maken.</p> <p>Voeg deze regels toe aan onze <strong>Flipboard RSS-feed</strong> inpluggen:</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>En het resultaat zal zijn:</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_5.jpg"> <p>Nu willen we onze afbeeldingen toevoegen aan onze RSS-feed. We moeten iets doen als:</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">Een schattig kitten</media:description> <media:copyright>Carl Carlson</media:copyright> </media:content> </item></pre> <p>De <code><media:content></code> element ondersteunt twee subelementen: <code><media:description></code> is de bijschrift gebruikt voor de afbeelding en in WordPress is de titel van de afbeelding, terwijl <code><media:copyright></code> bevat de auteursrechtinformatie of krediet voor de auteur van de afbeelding.</p> <p>Nu gaan we dit implementeren in onze WordPress Feed. Schrijf een bericht en voeg er afbeeldingen aan toe (houd er rekening mee dat afbeeldingen minimaal 400 pixels groot moeten zijn in de kleinste dimensie):</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_6.jpg"> <p>Publiceer de post en voeg deze regels toe aan onze <strong>Flipboard RSS-feed</strong> inpluggen:</p> <pre> add_filter ('rss2_item', 'flipboard_attached_images'); functie flipboard_attached_images () global $ post; $ attachments = get_posts (array ('post_type' => 'attachment', 'post_mime_type' => 'image', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'exclude' => get_post_thumbnail_id ())); if ($ bijlagen) foreach ($ bijlagen als $ att) $ img_attr = wp_get_attachment_image_src ($ att-> ID, 'full'); ?> <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->POST_TITLE; ?>]]></media:description> <media:copyright><?php echo get_the_author(); ?></media:copyright> </media:content> <?php </pre> <p>Laad de bron van je RSS-feed opnieuw, je ziet een <code><media:content></code> element voor elke bijgevoegde afbeelding.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_7.jpg"> <p>Een korte notitie over de <code><media:group></code> element: het kan worden gebruikt om alternatieve gewassen en formaten van dezelfde afbeelding te bieden, bijvoorbeeld portret- / landschapsversies.</p> <h3>Video</h3> <p>Voor videobestanden stelt Flipboard voor om deze code te gebruiken:</p> <pre> <media:content url="http://www.example.com/lisa-saxophone.mp4" type="video/mp4"> <media:description type="plain">Lisa speelt de saxofoon</media:description> <media:thumbnail url="http://www.example.com/lisa-saxophone.jpg" /> <media:copyright>Carl Carlson</media:copyright> </media:content></pre> <p>Hier hebben we een nieuw subelement: <code><media:thumbnail></code>: het specificeert eenvoudig een voorbeeldafbeelding voor de video. Dit kan een beetje lastig zijn, omdat we een manier nodig hebben om een ​​directe verbinding tussen de bijgevoegde video en de voorbeeldafbeelding te maken en WordPress te laten weten dat de twee bestanden verbonden zijn. We kunnen zo verder gaan:</p> <ol> <li>Voeg een nieuw bericht toe en voeg een of meer video's / audio eraan toe <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_8.jpg"> </li> <li>In de <strong>Mediatheek</strong> pagina, upload de voorbeeldafbeelding, noteer de afmetingen van de afbeelding en kopieer de URL van het afbeeldingsbestand <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_9.jpg"> </li> <li>In de <strong>Mediatheek</strong> zoek de video, bewerk deze en plak de afbeeldings-URL in de <strong>Omschrijving</strong> veld en <em>ook</em> voeg de breedte en de hoogte van de afbeelding toe, elk gescheiden door een pijplijnteken "<code>|</code>Dit is nodig om de juiste afbeeldingsdimensies in te stellen. <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_10.jpg"> </li> </ol> <p>Nu is het tijd om de video in onze RSS-feed te plaatsen. Voeg deze regels toe aan onze <strong>Flipboard RSS-feed</strong> inpluggen:</p> <pre> add_filter ('rss2_item', 'flipboard_attached_videos'); function flipboard_attached_videos () global $ post; $ attachments = get_posts (array ('post_type' => 'attachment', 'post_mime_type' => 'video', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'exclude' => get_post_thumbnail_id ())); if ($ bijlagen) foreach ($ bijlagen als $ 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->POST_TITLE; ?>]]></media:description> <media:copyright><?php echo get_the_author(); ?></media:copyright> <media:thumbnail url="<?php echo $parts[0]; ?>"/> </media:content> <?php </pre> <p>En hier is het eindresultaat:</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_11.jpg"> <h3>audio</h3> <p>De Fliboard-code voor audiobestanden is:</p> <pre> <media:content url="http://www.example.com/bartman.mp3" fileSize="1000" type="audio/mpeg" > <media:description type="plain">Lisa speelt de saxofoon</media:description> <media:thumbnail url="http://www.example.com/lisa-saxophone.jpg" /> <media:copyright>Carl Carlson</media:copyright> </media:content></pre> <p>Zoals u kunt zien, is deze in essentie identiek aan de video: om het afbeeldingsvoorbeeld aan het audiobestand te koppelen, kunnen we dezelfde methode gebruiken die we voor video's hebben gevolgd.</p> <p>Dus voeg deze regels toe in onze plug-in:</p> <pre> add_filter ('rss2_item', 'flipboard_attached_audio'); function flipboard_attached_audio () global $ post; $ attachments = get_posts (array ('post_type' => 'bijlage', 'post_mime_type' => 'audio', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'exclude' => get_post_thumbnail_id ())); if ($ bijlagen) foreach ($ bijlagen als $ att) $ audio_url = wp_get_attachment_url ($ att-> ID); $ parts = explode ('|', $ att-> post_content); $ headers = get_headers ($ audio_url, 1); $ filesize = $ headers ['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->POST_TITLE; ?>]]></media:description> <media:copyright><?php echo get_the_author(); ?></media:copyright> <media:thumbnail url="<?php echo $parts[0]; ?>"/> </media:content> <?php </pre> <h3>slideshows</h3> <p>Als u alle afbeeldingen in een diavoorstelling-indeling aan een bericht wilt toevoegen, moeten we een gedeelte van de HTML-code toevoegen aan de inhoud van de RSS-feedpost:</p> <pre> <section> <h1>Mijn favoriete dieren</h1> <figure> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_12.jpg"> <figcaption>Puppies zijn schattig</figcaption> </figure> <figure> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_12.jpg"> <figcaption>Kittens zijn ook</figcaption> </figure> <figure> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_12.jpg"> <figcaption>En babyschapen groeien uit tot ooi</figcaption> </figure> </section></pre> <p>Voeg deze regels toe in onze plug-in:</p> <pre> add_filter ('the_content_feed', 'flipboard_slideshow'); functie flipboard_slideshow ($ content) global $ post; $ attachments = get_posts (array ('post_type' => 'attachment', 'post_mime_type' => 'image', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'exclude' => get_post_thumbnail_id ())); if ($ bijlagen) $ slide = '<section><h1>'. $ post-> post_title. '</h1>'; foreach ($ bijlagen als $ att) $ img_attr = wp_get_attachment_image_src ($ att-> ID, 'full'); $ slide. = '<figure> <img src="//accentsconagua.com/img/' . $img_attr[0] . '"> <figcaption>'. $ att-> post_title. '</figcaption> </figure>'; $ slide. = '</section>'; return $ inhoud. $ Slide; else return $ content; </pre> <p>En dit is het resultaat:</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_12.jpg"> <h3>Geografische informatie</h3> <p>Om geografische informatie weer te geven, kunnen we een aangepast veld gebruiken zoals we deden voor de <code>hgroup</code> subtitel.</p> <p>Voeg dus op de pagina Bewerken Post een toe <code>flipboard_geo</code> Aangepast veld en stel de waarde in een indeling als deze in: <code>45.256 -71.92</code> (een volledige lijst van ondersteunde tags is beschikbaar in de GeoRSS-documentatie).</p> <p>Voeg deze regels toe aan onze <strong>Flipboard RSS-feed</strong> inpluggen:</p> <pre> add_filter ('the_content_feed', 'flipboard_geo'); functie flipboard_geo ($ inhoud) global $ post; $ flipboard_geo = get_post_meta ($ post-> ID, 'flipboard_geo', TRUE); if ($ flipboard_geo) $ geo = '<georss:poin>'. $ flipboard_geo. '</georss:point>'; return $ inhoud. $ Geo; else return $ content; </pre> <h3>Verzend uw feed naar Flipboard</h3> <p>Zodra de RSS-feed klaar is, kunt u Flipboard vragen om deze in hun nieuwsbronnen op te nemen: u moet per e-mail contact opnemen met het personeel van Flipboard, inclusief uw RSS-feed-URL, Twitter, Facebook en websitedetails. Het personeel beoordeelt alle informatie en laat het u binnen 5 werkdagen weten.</p> <hr> <h2> Stap 3 Pas de RSS-feed aan voor uw podcasts op iTunes</h2> <p>Om onze audio- of videopodcasts op Apple iTunes te publiceren, moeten we de RSS-feed volgens de technische specificaties van iTunes formatteren via een nieuwe plug-in:</p> <p>Maak een nieuw bestand met de naam <strong>itunes-feed.php</strong>, open het je favoriete teksteditor en plak dit:</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>Kopieer het bestand in uw <strong>/ Wp-content / plugins /</strong> map en activeer deze in de <strong>plugins</strong> admin pagina.</p> <h3>iTunes-naamruimte</h3> <p>Om de iTunes-naamruimte toe te voegen en iTunes-specifieke metatags te ondersteunen, kunnen we de <code>rss2_ns</code> filter:</p> <pre> add_filter ('rss2_ns', 'itunes_namespace'); // Naamruimtefunctie toevoegen itunes_namespace () echo 'xmlns: itunes = "http://www.itunes.com/dtds/podcast-1.0.dtd"'; </pre> <h3>iTunes Head Tags</h3> <p>De volgende stap is om verschillende informatie toe te voegen waardoor iTunes uw feed beter in de winkel kan indelen en gedetailleerde informatie over uw podcastkanaal kan weergeven.</p> <p>We kunnen al deze informatie toevoegen <code>rss2_head</code> filter:</p> <pre> add_filter ('rss2_head', 'itunes_head'); function itunes_head () ?> <itunes:subtitle>Een show over alles</itunes:subtitle> <itunes:author>John Doe</itunes:author> <itunes:summary>Alles over alles is een show over alles ... </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>Omwille van de beknoptheid van deze tutorial is het voorbeeld statisch. U kunt alle info handmatig wijzigen in de broncode van de plug-in. Als u er de voorkeur aan geeft om het dynamisch te maken, kunt u een optiepagina maken om al deze informatie te verwerken (zie ook: <strong>Opties voor het verwerken van invoegtoepassingen in WordPress 2.8 met register_setting ()</strong> door Ozh).</p> <h3>iTunes Post Tags</h3> <p>Voor elke post vraagt ​​iTunes om wat extra tags toe te voegen:</p> <pre> <itunes:author>John Doe</itunes:author> <itunes:subtitle>Een korte inleiding op tafelkruiden</itunes:subtitle> <itunes:summary>Deze week praten we over zout en peper shakers ... </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>07:04</itunes:duration> <itunes:keywords>zout, peper, shaker, spannend</itunes:keywords></pre> <p>We kunnen sommige van deze info als volgt aan:</p> <ul> <li> <strong>schrijver</strong>: we gebruiken de auteur van het bericht</li> <li> <strong>subtitel</strong>: we gebruiken de bijlagetitel van de bijlage</li> <li> <strong>samenvatting</strong>: we gebruiken de bijlagenbijschrift</li> <li> <strong>looptijd</strong>: we gebruiken de bijlagebeschrijving</li> <li> <strong>trefwoorden</strong>: we gebruiken de berichttags</li> </ul> <p>Schrijf een nieuw bericht, voeg een titel, wat inhoud en een aantal tags toe. Voeg vervolgens een audiobestand toe aan het bericht.</p> <p>Nadat het bestand is geüpload, voegt u andere info toe: Titel, Bijschrift en gebruikt u het veld Beschrijving om de duur op te geven.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_13.jpg"> <p>Voeg een uitgelichte afbeelding toe aan de post en publiceer deze uiteindelijk.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_14.jpg"> <p>Voeg deze regels nu toe aan onze <strong>itunes-feed.php</strong> inpluggen:</p> <pre> // ondersteuning toevoegen voor berichtminiaturen die we zullen gebruiken voor podcast-covers add_theme_support ('post-thumbnails'); // iTunes geeft de voorkeur aan vierkante .jpg-afbeeldingen die ten minste 400 x 400 pixels bevatten add_image_size ('itunes-cover', 400, 400, true); function itunes_attached_audio () global $ post; $ attachments = get_posts (array ('post_type' => 'bijlage', 'post_mime_type' => 'audio', // als je video's gebruikt, wijzig hier 'posts_per_page' => -1, 'post_parent' => $ post- > ID, 'exclude' => get_post_thumbnail_id ())); // gebruik de berichttags voor itunes: trefwoorden $ itunes_keywords_arr = get_the_tags (); if ($ itunes_keywords_arr) foreach ($ itunes_keywords_arr als $ tag) $ itunes_keywords. = $ tag-> name. ''; $ itunes_keywords = substr_replace (trim ($ itunes_keywords), ", -1); // gebruik de berichtenduim voor itunes: image $ post_thumbnail_id = get_post_thumbnail_id ($ post-> ID); $ itunes_image_arr = wp_get_attachment_image_src ($ post_thumbnail_id, ' itunes-cover '); if ($ bijlagen) foreach ($ bijlagen als $ att) $ audio_url = wp_get_attachment_url ($ att-> ID); $ parts = explode (' | ', $ att-> post_content); $ headers = get_headers ($ audio_url, 1); $ filesize = $ headers ['Content-Length'];?> <itunes:author><?php echo get_the_author(); ?></itunes:author> <itunes:subtitle><?php echo $att->POST_TITLE; ?></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; ?>"length ="<?php echo $filesize; ?>"type ="<?php echo $att->post_mime_type; ?> "/> <guid><?php the_permalink(); ?></guid> <itunes:duration><?php echo $att->POST_CONTENT; ?></itunes:duration> <itunes:keywords><?php echo $itunes_keywords; ?></itunes:keywords> <?php </pre> <p>Publiceer ten slotte de post en laad de bron van de RSS-feeds opnieuw.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_15.jpg"> <hr> <h2>Tot slot</h2> <p>Hoewel deze tutorial slechts twee hoofdplatformen beslaat, is het dankzij WordPress Hooks mogelijk om de standaard RSS-feed aan te passen en geschikt te maken voor andere externe webtoepassingen. Voor elke post kunt u aanvullende informatie toevoegen met behulp van nieuwe RSS-extensies, of u kunt de post-inhoud verbeteren door extra HTML-code te verstrekken om te voldoen aan de vereisten van alle platforms die u wilt gebruiken om uw inhoud te publiceren.</p> <hr> <h2>Referenties</h2> <ul> <li>Apple iTunes-voorbeeld Feed</li> <li>GeoRSS-eenvoudige documentatie</li> <li>Inhoud publiceren op Flipboard via RSS-feeds</li> <li> <strong>WordPress Haken en filters</strong> <ul> <li>WordPress Plugin API</li> <li>Over WordPress Hooks in <em>Voeg een aangepaste kolom toe aan berichten en aangepaste berichtensoorten beheerdersscherm</em></li> <li>De beginnershandleiding voor WordPress-acties en -filters</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">De ProcessWire-beheerder uitbreiden met aangepaste modules</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">Uitbreiding van SimplePie naar unieke RSS-feeds</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="/">nl.accentsconagua.com</a><div class="h-block-a"></div></div> <div class="footer-text"> Interessante informatie en nuttige tips over programmeren. Website ontwikkeling, webdesign en webontwikkeling. Photoshop-zelfstudies. Creatie van computerspellen en mobiele applicaties. Word een volledig professionele programmeur. </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="Zoeken..."> <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>