WordPress - Informatie toevoegen aan RSS


De RSS feed van WordPress kan een samenvatting van elk bericht tonen of het volledige bericht. Dit kan ingesteld worden in de instellingen van WordPress. Aanvullend kan het mogelijk zijn dat je graag wat extra content wilt toevoegen aan een feed zoals een uitgelichte afbeelding of een regel extra tekst. Dit kan op de onderstaande manieren.

Tekst toevoegen aan berichten

Je kunt eenvoudig tekst toevoegen aan elk bericht in een RSS feed. Denk bijvoorbeeld aan een Lees meer link zoals hieronder is gedaan. Maar de link kan natuurlijk ook vervangen worden door andere tekst of bijvoorbeeld door extra knoppen om het bericht te delen. Plaats de onderstaande code in het bestand functions.php van het gebruikte thema.

function text_to_post($content){
        global $post;
        $extracontent = '<br /><br />Lees verder op <a href="' . get_permalink($post->ID) . '">www.website.nl</a>';
        $content = $content . $extracontent;
        return $content;
};
add_filter('the_excerpt_rss', 'text_to_post'); // Samenvatting
add_filter('the_content_feed', 'text_to_post'); // Volledige berichten

Afbeeldingen toevoegen aan berichten

Door de onderstaande code toevoegen aan het bestand functions.php van een thema worden uitgelichte afbeeldingen automatisch toegevoegd aan de standaard RSS feed. In dit geval wordt de URL van de afbeelding opgehaald en wordt er aanvullende CSS toegevoegd om de afbeelding rechts uit te lijnen. Tevens wordt er eronder nog een alternatieve afbeelding opgeroepen indien er geen uitgelichte afbeelding beschikbaar is.

function image_to_post($content){
        global $post;
        $featured = wp_get_attachment_url(get_post_thumbnail_id($post->ID));
        if($featured == ''):
                $image = '<img style="float:right;margin:0px 0px 0px 15px;width:180px;height:auto;" width="180" src="http://www.website.nl/images/alt_rss.jpg" />';
                $content = $image . $content;
        else:
                $image = '<img style="float:right;margin:0px 0px 0px 10px;width:180px;height:auto;" width="180" src="' . $featured . '" />';
                $content = $image . $content;
        endif;
        return $content;
};
add_filter('the_excerpt_rss', 'image_to_post'); // Samenvatting
add_filter('the_content_feed', 'image_to_post'); // Volledige berichten

CategorieŽn toevoegen aan berichten

Plaats de onderstaande code in het bestand functions.php van het thema. Na het toevoegen worden in dit geval categorieŽn automatisch toegevoegd aan berichten.

function cats_to_post($content){
        global $post;
        foreach((get_the_category()) as $category):
                $addCat .= ' <a href="' . get_category_link($category->term_id) . '">' . $category->cat_name . '</a>';
        endforeach;
        $content = $content . $addCat;
        return $content;
};
add_filter('the_excerpt_rss', 'cats_to_post'); // Samenvatting
add_filter('the_content_feed', 'cats_to_post'); // Volledige berichten

Tags toevoegen aan berichten

Plaats de onderstaande code in het bestand functions.php van het thema. Na het toevoegen worden in dit geval tags automatisch toegevoegd aan de content van berichten.

function tags_to_post($content){
        global $post;
        foreach((get_the_tags()) as $tag):
                $addTag .= ' <a href="' . get_tag_link($tag->term_id) . '">' . $tag->name . '</a>';
        endforeach;
        $content = $content . $addTag;
        return $content;
};
add_filter('the_excerpt_rss', 'tags_to_post'); // Samenvatting
add_filter('the_content_feed', 'tags_to_post'); // Volledige berichten

Custom fields aan berichten

Plaats de onderstaande code in het bestand functions.php van het thema. Na het toevoegen worden in dit geval custom fields automatisch toegevoegd aan de content.

function fields_to_post($content){
        global $post;
        $customfield = get_post_meta($post->ID, 'Naam-van-het-veld', true);
        $content = $content . $customfield;
        return $content;
};
add_filter('the_excerpt_rss', 'fields_to_post'); // Samenvatting
add_filter('the_content_feed', 'fields_to_post'); // Volledige berichten

Auteurs toevoegen aan berichten

Plaats de onderstaande code in het bestand functions.php van het thema. Na het toevoegen worden auteurs automatisch toegevoegd aan de content van berichten.

function author_to_post($content){
        global $post;
        $firstName = get_the_author_meta('first_name');
        $lastName = get_the_author_meta('first_name');
        $addAuthor = 'Geplaatst door: ' . $firstName . ' ' . $lastName;
        $content = $content . $addAuthor;
        return $content;
};
add_filter('the_excerpt_rss', 'author_to_post'); // Samenvatting
add_filter('the_content_feed', 'author_to_post'); // Volledige berichten

Tekst toevoegen aan titels

Op een vergelijkbare manier kan er tekst worden toegevoegd aan de titel van een bericht. In het onderstaande geval zal de toevoeging achter de titel van het bericht worden geplaatst, wil je dit andersom wissel dan de twee variabelen ($content . $addtitle) in de code om. Plaats de onderstaande code in het bestand functions.php van het thema.

function text_to_feed($content){
        global $post;
        $extracontent = '<br /><br />Lees verder op <a href="' . get_permalink($post->ID) . '">www.website.nl</a>';
        $content = $content . $extracontent;
        return $content;
};
add_filter('the_title_rss', 'text_to_feed');

CategorieŽn toevoegen aan titels

Plaats de onderstaande code in het bestand functions.php van het thema. Na het toevoegen worden categorieŽn automatisch toegevoegd aan de titels van berichten.

function cats_to_title($content){
        global $post;
        foreach((get_the_category()) as $category):
                $addCat .= ' - ' . $category->cat_name;
        endforeach;
        $content = $content . $addCat;
        return $content;
};
add_filter('the_title_rss', 'cats_to_title');

Tags toevoegen aan titels

Plaats de onderstaande code in het bestand functions.php van het thema. Na het toevoegen worden in dit geval tags automatisch toegevoegd aan de titels van berichten.

function tags_to_title($content){
        global $post;
        foreach((get_the_tags()) as $tag):
                $addTag .= ' - ' . $tag->name;
        endforeach;
        $content = $content . $addTag;
        return $content;
};
add_filter('the_title_rss', 'tags_to_title');