Erweitern des Standard-WordPress-RSS-Feeds

In einigen Fällen müssen Sie möglicherweise Ihre Online-Präsenz verbessern und ein breiteres Publikum erreichen, indem Sie Ihre Inhalte außerhalb Ihrer Website einreichen. Beispielsweise möchten Sie Ihre Beiträge auf den gängigsten Aggregatoren für soziale Netzwerke verfügbar machen, auf mobilen Geräten verfügbar machen oder Ihre Audio- / Video-Podcasts in digitalen Stores veröffentlichen.

In den meisten Fällen muss der RSS-Feed angepasst werden, um ihn durch Hinzufügen benutzerdefinierter Metadaten für die Veröffentlichung geeignet zu machen.

In diesem Lernprogramm erfahren Sie, wie Sie dieses Ziel für zwei Hauptplattformen erreichen können: Flipboard und den iTunes Store. Der Code kann jedoch problemlos für andere Plattformen und Webdienste angepasst werden.


Einführung

Flipboard ist eine Anwendung zur Aggregation sozialer Netzwerke für Android- und iOS-Geräte, die den Inhalt regelmäßig von Ihrer Website abruft und in einem Magazinformat präsentiert, sodass mobile Benutzer Ihre Nachrichten über die auf ihrem Smartphone oder Tablet installierte App lesen können. Der iTunes Store ist ein digitaler Online-Media-Store, in dem Sie Ihre Audio- oder Video-Podcasts veröffentlichen können.

Das Abonnement für beide Dienste ist kostenlos, muss jedoch genehmigt werden. Dies gilt insbesondere für Flipboard, das nur Websites mit einer beträchtlichen Anzahl von Lesern zu akzeptieren scheint.

In beiden Fällen können Sie Inhalte über Ihren RSS-Feed für Blogs veröffentlichen, dies muss jedoch mit deren Spezifikationen übereinstimmen. Glücklicherweise können Entwickler in WordPress die Standard-RSS-Feed-Struktur ändern.


Schritt 1 Die Standard-WordPress-RSS-Feed-Struktur

WordPress wird standardmäßig mit verschiedenen Feeds geliefert. In diesem Tutorial verwenden wir den RSS 2.0-Feed unter http://example.com/?feed=rss2 oder http://example.com/feed/ Wenn Sie Permalinks verwenden. Dieser Feed ist ein einfaches XML-Dokument, das folgendermaßen strukturiert ist:

   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/">   Ihr Blog-Titel  http://Ihre-Site-url.com Ihre Blog-Beschreibung Do 27 Sep 2012 18:30:06 +0000 en-US stündlich 1 http://wordpress.org/?v=3.4.2   Post 1 Titel http://ihr-site-url.com/post-1-slug http://ihr-site-url.com/post-1-slug#comments Di, 15. Mai 2012 um 13:47:12 +0000 John Doe  http://your-site-url.com/?p=1  Aliquam rutrum placerat aliquet. Maecenas Congue Felis Erat.

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

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

Wie Sie sehen können, jeder Das Element stellt einen Beitrag dar und enthält mehrere Unterelemente, die sich jeweils auf die "Komponente" des Beitrags beziehen. Die wichtigsten sind:

  • </code> ist der Posttitel</li> <li> <code><link></code> ist der Postpermalink</li> <li> <code><pubDate></code> ist das Datum nach der Veröffentlichung im RFC822-Format </li> <li> <code><dc:creator></code> ist der Name des Postautors</li> <li> <code><dc:category></code> ist eine Teilmenge von Elementen, eines für jede Beitragskategorie</li> <li> <code><description></code> ist der Postauszug ohne HTML-Tags</li> <li> <code><content:encoded></code> ist der gesamte Post-Inhalt mit HTML-Tags</li> </ul> <hr> <h2> Schritt 2 Passen Sie den RSS-Feed für Flipboard an</h2> <p>Entsprechend den technischen Anforderungen von Flipboard ist es möglich, den Inhalt zu verbessern.</p> <blockquote> <p>Durch die Bereitstellung zusätzlicher Semantik in der Artikel-Markierung wird die Möglichkeit hinzugefügt, Zitate, Diashows und andere Designelemente anzugeben</p> </blockquote> <p>Diese zusätzlichen Semantiken sind:</p> <ul> <li>Titel & Untertitel</li> <li>Zitate ziehen</li> <li>Bild-, Video- und Audioobjekte</li> <li>Diashows</li> <li>Geographische Informationen</li> </ul> <p>Wir können diese Semantik in unserem RSS-Feed über ein Plugin implementieren. Wie gesagt, WordPress bietet bestimmte Hooks, mit denen Sie die Standard-RSS-Feed-Struktur ändern können:</p> <ul> <li> <code>rss2_ns</code> - erlaubt das Hinzufügen neuer Namespaces im XML-Stammelement;</li> <li> <code>rss2_head</code> - erlaubt das Hinzufügen von Tags im Feedheader;</li> <li> <code>the_content_feed</code> - erlaubt die Änderung des Inhalts jedes Beitrags, der im Feed angezeigt wird;</li> <li> <code>rss2_item</code> - ermöglicht das Hinzufügen neuer Unterelemente zu jedem <code><item></code> (Post) Element;</li> </ul> <p>Erstellen Sie eine neue Datei mit dem Namen <strong>Flipboard-feed.php</strong>, Öffnen Sie Ihren bevorzugten Texteditor und fügen Sie diesen Plugin-Header ein:</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>Kopieren Sie die Datei in Ihre <strong>/ wp-content / plugins /</strong> Verzeichnis und aktivieren Sie es aus dem <strong>Plugins</strong> Administrator Seite.</p> <h3>Titel & Untertitel</h3> <p>Wenn Sie vor dem Posten von Inhalten einen Titel und einen Untertitel hinzufügen möchten, müssen Sie Folgendes hinzufügen:</p> <pre> <hgroup> <h1>Titel der Post</h1> <h2>Dies ist der Post-Untertitel</h2> </hgroup></pre> <p>Sie können dies auch manuell zum Post Content hinzufügen, im Texteditor. Dies ist jedoch keine optimale Lösung, da diese Tags dann auch auf Ihrer Website angezeigt werden (es sei denn, Sie verbergen das <code>hgroup</code> Element durch einen CSS-Stil). Um dies automatisch zu erreichen und <em>nur im RSS-Feed</em>, Es ist besser, den Post-Titel für die <code><h1></code> Element und ein benutzerdefiniertes Feld für die <code><h2></code> Untertitel.</p> <p>Fügen Sie in Ihrer Bearbeitungsseite "Post" ein <code>flipboard_subtitle</code> Benutzerdefinierte Feld.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed.jpg"> <p>Fügen Sie diese Zeilen unserem hinzu <strong>Flipboard RSS Feed</strong> Plugin:</p> <pre> add_filter ('the_content_feed', 'flipboard_title_and_subtitle'); Funktion flipboard_title_and_subtitle ($ content) global $ post; $ post_subtitle = get_post_meta ($ post-> ID, 'flipboard_subtitle', TRUE); // füge hgroup nur hinzu, wenn das benutzerdefinierte Feld gesetzt ist if ($ post_subtitle) $ hgroup = '<hgroup><h1>'. $ post-> post_title. '</h1>'; $ hgroup. = '<h2>'. $ post_subtitle. '</h2></hgroup>'; $ hgroup zurückgeben. $ content; else return $ content; </pre> <p>Wenn Sie jetzt den Beitrag veröffentlichen und die Quelle Ihrer RSS-Feed-Seite aktualisieren, wird das angezeigt <code>hgroup</code> Tag vor dem Post-Inhalt.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_2.jpg"> <h3>Zitate ziehen</h3> <p>Für Pull-Quotes können Sie in Ihrem Post-Content die <code><blockquote></code> Tag, um auf einige Teile des Textes hinzuweisen. Wir können das Plugin nutzen, um das zu ersetzen <code><blockquote></code> mit dem <code><aside></code> Etikett.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_3.jpg"> <p>Fügen Sie diese Zeilen unserem hinzu <strong>Flipboard RSS Feed</strong> Plugin:</p> <pre> add_filter ('the_content_feed', 'flipboard_pull_quotes'); Funktion flipboard_pull_quotes ($ content) // Ersetzen Sie das Blockquote-Tag durch "aside". return str_replace ('blockquote>', 'aside>', $ content); </pre> <p>Laden Sie Ihre RSS-Feed-Seitenquelle neu. Sie sehen die neue <code><aside></code> Etikett.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_4.jpg"> <h3>Bild</h3> <p>Für alle diese Elemente folgen wir einer anderen von Flipboard vorgeschlagenen Methode: Anstatt die Semantik direkt in den Post-Inhalt einzufügen, fügen wir dem eine neue Untermenge von Media-RSS-Elementen hinzu <code><item></code> Element.</p> <p>Media RSS ist eine RSS-Erweiterung, die die Veröffentlichung von Multimedia-Dateien in RSS-Feeds verbessert. Bild-, Video- und Audiodateien sowie deren Metadaten können dank ihrer speziellen Elemente in RSS-Feeds aufgenommen werden.</p> <p>In unserem Fall verwenden wir den Hauptbereich: <code><media:content></code>.</p> <p>Darüber hinaus benötigen wir die GeoRSS-Erweiterung, um geografische Informationen zu unterstützen. Daher müssen wir dem RSS-Feed die richtigen Namespaces hinzufügen, damit er gültig wird.</p> <p>Fügen Sie diese Zeilen unserem hinzu <strong>Flipboard RSS Feed</strong> Plugin:</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>Und das Ergebnis wird sein:</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_5.jpg"> <p>Jetzt möchten wir alle an unsere Posts angehängten Bilder in unseren RSS-Feed einfügen. Wir müssen etwas tun wie:</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">Ein entzückendes Kätzchen</media:description> <media:copyright>Carl Carlson</media:copyright> </media:content> </item></pre> <p>Das <code><media:content></code> Element unterstützt zwei Unterelemente: <code><media:description></code> ist die Beschriftung für das Bild und in WordPress der Titel des Bildes, während <code><media:copyright></code> enthält die urheberrechtlichen Informationen oder die Gutschrift für den Autor des Bildes.</p> <p>Jetzt werden wir dies in unserem WordPress-Feed implementieren. Schreiben Sie einen Beitrag und hängen Sie einige Bilder an (beachten Sie, dass Bilder in der kleinsten Dimension mindestens 400px betragen müssen):</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_6.jpg"> <p>Veröffentlichen Sie den Post und fügen Sie diese Zeilen zu unserem hinzu <strong>Flipboard RSS Feed</strong> Plugin:</p> <pre> add_filter ('rss2_item', 'flipboard_attached_images'); Funktion 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 ($ attachments) foreach ($ attachments 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>Laden Sie Ihre RSS-Feed-Seitenquelle neu. Sie sehen eine <code><media:content></code> Element für jedes angehängte Bild.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_7.jpg"> <p>Eine kurze Anmerkung zum <code><media:group></code> Element: Es kann verwendet werden, um alternative Beschneidungen und Größen desselben Bildes bereitzustellen, z. B. Hoch- / Querformatversionen.</p> <h3>Video</h3> <p>Für Videodateien schlägt Flipboard vor, diesen Code zu verwenden:</p> <pre> <media:content url="http://www.example.com/lisa-saxophone.mp4" type="video/mp4"> <media:description type="plain">Lisa spielt Saxophon</media:description> <media:thumbnail url="http://www.example.com/lisa-saxophone.jpg" /> <media:copyright>Carl Carlson</media:copyright> </media:content></pre> <p>Hier haben wir ein neues Unterelement: <code><media:thumbnail></code>: es gibt einfach ein Vorschaubild für das Video an. Dies kann etwas schwierig sein, da wir eine Möglichkeit benötigen, um eine direkte Verbindung zwischen dem angefügten Video und seinem Vorschaubild herzustellen und WordPress mitzuteilen, dass die beiden Dateien verbunden sind. Wir können so vorgehen:</p> <ol> <li>Fügen Sie einen neuen Beitrag hinzu und hängen Sie ein oder mehrere Videos / Audio an <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_8.jpg"> </li> <li>In dem <strong>Medienbibliothek</strong> Laden Sie das Vorschaubild hoch, notieren Sie sich die Bildmaße und kopieren Sie die Bild-Datei-URL <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_9.jpg"> </li> <li>In dem <strong>Medienbibliothek</strong> Finden Sie das Video, bearbeiten Sie es und fügen Sie die Bild-URL in das ein <strong>Beschreibung</strong> Feld und <em>ebenfalls</em> addiere die Breite und die Höhe des Bildes, jeweils getrennt durch ein Pipeline-Zeichen "<code>|</code>". Dies ist notwendig, um die korrekten Bildmaße einzustellen. <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_10.jpg"> </li> </ol> <p>Nun ist es Zeit, das Video in unseren RSS-Feed zu stellen. Fügen Sie diese Zeilen unserem hinzu <strong>Flipboard RSS Feed</strong> Plugin:</p> <pre> add_filter ('rss2_item', 'flipboard_attached_videos'); Funktion 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 ($ attachments) foreach ($ attachments als $ att) $ video_url = wp_get_attachment_url ($ att-> ID); $ parts = explodieren ('|', $ 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>Und hier ist das Endergebnis:</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_11.jpg"> <h3>Audio</h3> <p>Der Fliboard-Code für Audiodateien lautet:</p> <pre> <media:content url="http://www.example.com/bartman.mp3" fileSize="1000" type="audio/mpeg" > <media:description type="plain">Lisa spielt Saxophon</media:description> <media:thumbnail url="http://www.example.com/lisa-saxophone.jpg" /> <media:copyright>Carl Carlson</media:copyright> </media:content></pre> <p>Wie Sie sehen, ist es im Wesentlichen identisch mit dem Video: Um die Bildvorschau an die Audiodatei anzuhängen, können wir dieselbe Methode wie für Videos verwenden.</p> <p>Fügen Sie also diese Zeilen in unser Plugin ein:</p> <pre> add_filter ('rss2_item', 'flipboard_attached_audio'); Funktion flipboard_attached_audio () global $ post; $ attachments = get_posts (array ('post_type' => 'attachment', 'post_mime_type' => 'audio', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'exclude' => get_post_thumbnail_id ())); if ($ attachments) foreach ($ attachments als $ att) $ audio_url = wp_get_attachment_url ($ att-> ID); $ parts = explodieren ('|', $ att-> post_content); $ headers = get_headers ($ audio_url, 1); $ fileize = $ 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>Diashows</h3> <p>Um alle an einen Beitrag angehängten Bilder in einem Diashow-Format hinzuzufügen, müssen Sie dem RSS-Feed-Beitrag einen Teil des HTML-Codes hinzufügen:</p> <pre> <section> <h1>Meine Lieblingstiere</h1> <figure> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_12.jpg"> <figcaption>Welpen sind süß</figcaption> </figure> <figure> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_12.jpg"> <figcaption>Kätzchen sind auch</figcaption> </figure> <figure> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_12.jpg"> <figcaption>Und Babyschafe wachsen zum Mutterschaf</figcaption> </figure> </section></pre> <p>Fügen Sie diese Zeilen in unserem Plugin hinzu:</p> <pre> add_filter ('the_content_feed', 'flipboard_slideshow'); Funktion 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 ($ attachments) $ slide = '<section><h1>'. $ post-> post_title. '</h1>'; foreach ($ attachments 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>'; $ content zurückgeben $ slide; else return $ content; </pre> <p>Und das ist das Ergebnis:</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_12.jpg"> <h3>Geographische Informationen</h3> <p>Um geografische Informationen anzuzeigen, können wir ein benutzerdefiniertes Feld wie für das verwenden <code>hgroup</code> Untertitel.</p> <p>Fügen Sie also auf Ihrer Seite "Beitrag bearbeiten" eine <code>flipboard_geo</code> Benutzerdefiniertes Feld und legen Sie den Wert in einem Format wie folgt fest: <code>45,256 - 71,92</code> (Eine vollständige Liste der unterstützten Tags finden Sie in der GeoRSS-Dokumentation.).</p> <p>Fügen Sie diese Zeilen unserem hinzu <strong>Flipboard RSS Feed</strong> Plugin:</p> <pre> add_filter ('the_content_feed', 'flipboard_geo'); Funktion 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>'; $ content zurückgeben $ geo; else return $ content; </pre> <h3>Senden Sie Ihren Feed an Flipboard</h3> <p>Wenn der RSS-Feed fertig ist, können Sie Flipboard auffordern, ihn in seine Nachrichtenquellen aufzunehmen: Sie müssen sich per E-Mail an das Flipboard-Personal wenden, einschließlich Ihrer RSS-Feed-URL, Twitter, Facebook und der Website. Die Mitarbeiter werden alle Informationen überprüfen und Ihnen innerhalb von 5 Werktagen Bescheid geben.</p> <hr> <h2> Schritt 3 Passen Sie den RSS-Feed für Ihre Podcasts in iTunes an</h2> <p>Um unsere Audio- oder Video-Podcasts auf Apple iTunes zu veröffentlichen, müssen wir den RSS-Feed gemäß den technischen Spezifikationen von iTunes mit einem neuen Plugin formatieren:</p> <p>Erstellen Sie eine neue Datei mit dem Namen <strong>itunes-feed.php</strong>, Öffnen Sie Ihren bevorzugten Texteditor und fügen Sie Folgendes ein:</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>Kopieren Sie die Datei in Ihre <strong>/ wp-content / plugins /</strong> Verzeichnis und aktivieren Sie es im <strong>Plugins</strong> Administrator Seite.</p> <h3>iTunes Namespace</h3> <p>Um den iTunes-Namespace hinzuzufügen und iTunes-spezifische Meta-Tags zu unterstützen, können Sie das verwenden <code>rss2_ns</code> Filter:</p> <pre> add_filter ('rss2_ns', 'itunes_namespace'); // Namespace-Funktion hinzufügen itunes_namespace () echo 'xmlns: itunes = "http://www.itunes.com/dtds/podcast-1.0.dtd"'; </pre> <h3>iTunes Head Tags</h3> <p>Im nächsten Schritt fügen Sie verschiedene Informationen hinzu, mit denen Sie Ihren Feed im Store besser kategorisieren und detaillierte Informationen zu Ihrem Podcast-Kanal anzeigen können.</p> <p>Wir können alle diese Informationen durch hinzufügen <code>rss2_head</code> Filter:</p> <pre> add_filter ('rss2_head', 'itunes_head'); Funktion itunes_head () ?> <itunes:subtitle>Eine Show über alles</itunes:subtitle> <itunes:author>John Doe</itunes:author> <itunes:summary>Alles über alles ist eine Show über 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>Der Kürze halber für dieses Tutorial ist das Beispiel statisch. Sie können alle Informationen manuell im Plugin-Quellcode ändern. Wenn Sie es vorziehen, es dynamischer zu gestalten, können Sie eine Optionsseite erstellen, um alle diese Informationen zu verarbeiten (siehe auch: <strong>Umgang mit Plugins-Optionen in WordPress 2.8 mit register_setting ()</strong> von Ozh).</p> <h3>iTunes Post-Tags</h3> <p>Für jeden Post bittet iTunes um zusätzliche Tags:</p> <pre> <itunes:author>John Doe</itunes:author> <itunes:subtitle>Eine kurze Grundierung auf Tischgewürzen</itunes:subtitle> <itunes:summary>Diese Woche sprechen wir über Salz- und Pfefferstreuer… </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>7:04</itunes:duration> <itunes:keywords>Salz, Pfeffer, Shaker, aufregend</itunes:keywords></pre> <p>Wir können einige dieser Informationen wie folgt behandeln:</p> <ul> <li> <strong>Autor</strong>: wir verwenden den Postautor</li> <li> <strong>Untertitel</strong>: Wir verwenden den Anhangstitel der Post</li> <li> <strong>Zusammenfassung</strong>: Wir verwenden die Dateianhänge</li> <li> <strong>Dauer</strong>: Wir verwenden die Anhangsbeschreibung</li> <li> <strong>Schlüsselwörter</strong>: Wir verwenden die Post-Tags</li> </ul> <p>Schreiben Sie einen neuen Beitrag, fügen Sie einen Titel, einige Inhalte und einige Tags hinzu. Hängen Sie dann eine Audiodatei an den Beitrag an.</p> <p>Fügen Sie nach dem Hochladen der Datei weitere Informationen hinzu: Titel, Titel und verwenden Sie das Feld Beschreibung, um die Dauer anzugeben.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_13.jpg"> <p>Fügen Sie dem Beitrag ein gekennzeichnetes Bild hinzu und veröffentlichen Sie es schließlich.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_14.jpg"> <p>Fügen Sie nun diese Zeilen in unsere ein <strong>itunes-feed.php</strong> Plugin:</p> <pre> // Unterstützung für Post-Thumbnails hinzufügen, die wir für Podcast-Cover verwenden werden add_theme_support ('post-thumbnails'); // iTunes bevorzugt quadratische JPG-Bilder, die mindestens 400 x 400 Pixel groß sind. add_image_size ('itunes-cover', 400, 400, true); function itunes_attached_audio () global $ post; $ attachments = get_posts (array ('post_type' => 'attachment', 'post_mime_type' => 'audio', // wenn Sie Videos verwenden, ändern Sie hier 'posts_per_page' => -1, 'post_parent' => post post > ID, 'exclude' => get_post_thumbnail_id ())); // Verwenden Sie die Post-Tags für itunes: keywords $ 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); // Verwenden Sie den Post-Thumb für itunes: image $ post_thumbnail_id = get_post_thumbnail_id ($ post-> ID); $ itunes_image_arr = wp_get_attachment_image_src ($ post_att_att) itunes-cover '); if ($ attachments) foreach ($ attachments 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; ?>"Länge ="<?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>Veröffentlichen Sie schließlich den Post und laden Sie die RSS-Feed-Seitenquelle erneut.</p> <img src="//accentsconagua.com/img/images_21/extending-the-default-wordpress-rss-feed_15.jpg"> <hr> <h2>Abschließend</h2> <p>Obwohl dieses Tutorial nur zwei Hauptplattformen abdeckt, ist es dank WordPress Hooks möglich, den Standard-RSS-Feed anzupassen und für andere externe Webanwendungen geeignet zu machen. Für jeden Beitrag können Sie zusätzliche Informationen hinzufügen, indem Sie neue RSS-Erweiterungen verwenden, oder Sie können den Beitragsinhalt erweitern, indem Sie zusätzlichen HTML-Code angeben, der die Anforderungen aller Plattformen erfüllt, die Sie zum Veröffentlichen Ihres Inhalts verwenden möchten.</p> <hr> <h2>Verweise</h2> <ul> <li>Apple iTunes Beispiel-Feed</li> <li>GeoRSS-Einfache Dokumentation</li> <li>Veröffentlichen von Inhalten auf Flipboard über RSS-Feeds</li> <li> <strong>WordPress Hooks und Filter</strong> <ul> <li>WordPress-Plugin-API</li> <li>Über WordPress Hooks <em>Hinzufügen einer benutzerdefinierten Spalte im Admin-Bildschirm "Posts" und "Custom Post Types"</em></li> <li>Das Einsteigerhandbuch für WordPress-Aktionen und Filter</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">Erweitern des ProcessWire-Admin mit benutzerdefinierten Modulen</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">Erweitern von SimplePie, um einzigartige RSS-Feeds zu analysieren</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="/">accentsconagua.com</a><div class="h-block-a"></div></div> <div class="footer-text"> Interessante Informationen und nützliche Tipps zur Programmierung. Website-Entwicklung, Webdesign und Webentwicklung. Photoshop-Tutorials. Erstellung von Computerspielen und mobilen Anwendungen. Werden Sie von Grund auf professioneller Programmierer. </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="Suche..."> <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>