WordPress beitzt einen Filter, der dafür sorgt, dass der Feed des Blog im Standard auf RSS2.0 gesetzt wird (wp_feed_selector
). Es gibt im derzeitigen Standard nicht die Möglichkeit den Feed im einem anderen Format anzuwählen. Damit ist gemeint, dass die meisten Weblogs, die mit WP angetrieben werden, die Adresse http://domain.de/feed/
als Feed-Adresse ausgeben. Diese Adresse ist mit dem Standard RSS2 deklariert. Der Filter, der dies setzt kann nur mittels Eingriff in die Core-Daten verändert werden oder einfach mit einem kleinen Plugin.
RSS 2.0
<?xml version="1.0" encoding="utf-8"?>
<!-- generator="wordpress/2.3.1" -->
<rss version="2.0"
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/"
>
Atom
<?xml version="1.0" encoding="utf-8"?><feed
xmlns="http://www.w3.org/2005/Atom"
xmlns:thr="http://purl.org/syndication/thread/1.0"
xml:lang="en"
xml:base="https://bueltge.de/wp-atom.php"
>
Dieser Artikel soll im übrigen keine Wertung sein. Welches Format jeder bevorzugt – die Entscheidung nehme ich keinem ab. Wer aber im Unternehmensbereich mit verschiedenen Formen auf den Feed zugreifen will, der kommt ab und zu nicht an Atom vorbei.
Seit der Version 2.3 wird das Atom-Format innerhalb von WP mit Hilfe von Sam Ruby auf Vordermann gebracht. Er ist es auch, der eine entsprechende Lösung für den Ersatz des Standard-Filters hat. Mit dem folgendem Code ist die Adresse des Feed schnell mit dem entsprechenden, gewünschten Ausgabeformat versehen und unabhängig von einem Update und Neuerungen innerhalb von WordPress
<?php
/*
Plugin Name: Atom Feed Selector
Plugin URI: http://wordpress.org/#
Description: This plugin replaces the default wp_feed_selector filter with
one that choses the Atom 1.0 feed.
Author: Sam Ruby
Version: 0.1
Author URI: http://intertwingly.net/
*/
function atom_feed_selector($attr = 'name') {
switch ( $attr ) :
case 'mime_type' :
return 'application/atom+xml';
case 'display_name' :
return 'Atom 1.0';
case 'short_name' :
return 'Atom';
case 'long_name' :
return '<a href="http://www.atomenabled.org/">Atom</a>';
default :
// must be 'rss2', 'rss', 'rdf', or 'atom'
return 'atom';
endswitch;
}
remove_filter('feed_format', 'wp_feed_selector');
add_filter('feed_format', 'atom_feed_selector');
?>
hallo
ich habe ein naja banales problem.
eigendlich sollte wordpress de edition ja deutsch sein, das ist es größtenteils auch, aber an ein paar stellen muss gedreht werden wie z.b bei feed`s.
mein kommentar feed heisst „Comments for picard und der blog“ das ist mir nicht deutsch genug, aber welche datei hat die information die ich ändern muss, ich finde sie nicht 🙁
alles andere feed technische sollte schon deutsch sein http://kuckst-du-hier.com/blog/picard/
vielen dank für eure hilfe
gruss
Grundsätzlich werden alle Sprachausgaben in der Sprachdatei verwaltet. In dem speziellen Fall wird eben beim deutschen vorgegeben, dass „Kommentare für“ BLOGTITLE .
Schau dir mal sie Sprachdatei an, gibt’s bei WPD zum Download und passe sie deinen Wünschen an, mit poEdit. Derzeit ist dein Feed nicht valide, da das ü in für nicht als Entitie vergeben ist.
also reicht es nicht das „Kommentare f & uuml; r“ im code ist?
Eigentlich schon, versuche mal
wie oder womit überprüfst du den feed ob er valide ist?
habe die änderung eingebaut.
in der po datei gibt es nicht zu ändern 🙂
habe alles noch mal überprüft, nur mein feed titel ist falsch ;-(
eine idee?
Grundsätzlich zeigt mir jeder Browser schon den Parser-Error. Ansonsten gibt es Feed-Validatoren im Netz oder per WebDeveloper im Firefox.
Aber dein Feed-Titel ist doch in deutsch, dass reicht dir nicht?
also ich habe meinen feed valide überprüft, sollte alles passen
aber wo ist mein titel vom kommentar rss2feed in deutsch?
ich lese immer was von „Comments…“
aber das war im google reader, ich denke das war vieleicht caching schuld oder so.
im thunderbird und anderen readern wird es nun auch richtig angezeigt.
danke für deine hilfe.
achso, mach weiter so, ich bin täglich auf deiner seite 😉
… so sieht dein Kommentarfeed aus, einfach in den Quellcode geschaut.
Der ist nun auch valide, siehe Prüfung
Caching ist nicht zu unterschätzen, auch seitens WP nicht. Eventuell mal Cache von WP leeren und dann noch den Feed im Google Reader kündigen und wieder abonnieren.
LG und Danke.