WordPress: Custom Post Types in den Feed aufnehmen

Letztens habe ich überraschend festgestellt, dass wenn man eigene Beitragsformate (Custom Post Types) in WordPress anlegt, diese nicht in den Beitragsfeed aufgenommen werden. Erstaunlicherweise fehlt auch im Backend eine entsprechende Einstellmöglichkeit, um dies zu ändern.

Falls man sich ein eigenes Format für beispielsweise Tutorials oder Beitragsserien in WordPress anlegt, sollte man sich darüber im Klaren sein, dass diese Artikel nicht im Feed auftauchen. Ändern lässt sich das durch ein wenig Handarbeit.

Custom Post Types in den WordPress Feed aufnehmen

Um einfach alle CPT (Custom Post Types) in den Beitragsfeed zu integrieren, ergänzt man die im Theme Ordner vorliegende functions.php um folgenden Code (bevorzugt sollte dies über ein Child Theme geschehen):

function feed_mit_cpt($qv) {
if (isset($qv['feed']))
$qv['post_type'] = get_post_types();
return $qv;
}
add_filter('request', 'myfeed_request');

Achtung: Mit dieser Ergänzung werden alle CPT mit in den Feed aufgenommen, was unter Umständen nicht erwünscht ist. Dann kann man über ein Array in dem die Slugs der Beiträge (‚posts‘) und zusätzlich aller erwünschten CPT aufgelistet werden genau definieren, welche CPT mit in den Feed integriert werden sollen.

functionfeed_mit_cpt($qv) {
if (isset($qv['feed']) && !isset($qv['post_type']))
$qv['post_type'] = array('post', 'tutorials', 'beitragsserien');
return $qv;
}
add_filter('request', 'myfeed_request');

Getrennter eigener WordPress RSS Feed für Custom Post Types

Interessanterweise erstellt WordPress ganz von selbst einen separaten RSS Feed für jeden CPT. Die dazugehörige URL lautet:

http://meinedomain.de/feed/?post_type=beitragsserien

Wobei meinedomain.de natürlich durch die genutzte Domain und das Wort ‚beitragsserien‘ durch den Slug des jeweiligen CPT ersetzt werden muss.

Falls man einen „hübscheren“ Link haben möchte, kann man das über einen Redirect Eintrag in der .htaccess Datei erreichen:

Redirect /feed/beitragsserien http://deinedomain.de/feed/?post_type=beitragsserien

Dann lässt sich der spezielle Feed auch über „http://deinedomain.de/feed/beitragsserien“ abrufen

Quelle: https://core.trac.wordpress.org/ticket/12943

2 Gedanken zu „WordPress: Custom Post Types in den Feed aufnehmen“

Kommentar verfassen