Como personalizar o RSS/Feed do WordPress sem plugin

Em diversos blogs e sites que criamos há a necessidade de personalizar o RSS/Feed do WordPress com alguma imagem, links, formatação html e até css diferenciada. E essa função permite fazer isso de forma simples e o mais importante sem plugin.

Plugins do WordPress são ótimos, mas a maioria é cheia de código desnecessários que naturalmente deixam seu blog ou site mais devagar. Então se você pode inserir simples funções no arquivo functions.php tenha certeza que estará otimizando seu blog ou site.

Por que personalizar o feed do WordPress?

  • O feed do seu blog pode estar sendo usado por outro parasita blogueiro para gerar conteúdo automaticamente. Então com essa função você pode inserir um link de volta para o seu site, assim se o conteúdo for copiado, você terá mais chance de pelo menos ter um link de volta para seu blog.
  • Você pode inserir anúncios específicos para assinantes do seu Feed. Ou até links para promoção exclusiva, conteúdo especial ou algo gratuito exclusivo para seus leitores assíduos.

Funções para inserir conteúdo no Feed do WordPress

Entenda essas funções mais abaixo.

// personalizar rss/feed
function inflar_custom_feed_content($content) {
	global $wp_query;
	$post_id = $wp_query->post->ID;
		
	if(is_feed()) {
		// pega o campo personalizado de nome image
		$image_url = get_post_meta($post_id, 'image', true);
		
		// caso vazio pega a imagem destacada
		if($image_url == ''){
			$image_url = get_the_post_thumbnail_src(get_the_post_thumbnail($post_id,'thumbnail'));
		}
		
		$content = 'Como personalizar o RSS/Feed do WordPress sem plugin'.$content;
	}
	return $content;
}
add_filter('the_excerpt_rss', 'inflar_custom_feed_content'); //altera a versão resumida do post
add_filter('the_content', 'inflar_custom_feed_content'); // altera a versão completa do post

// extrair apenas a url do thumbnail
function get_the_post_thumbnail_src($img){
  return (preg_match('~\bsrc="([^"]++)"~', $img, $matches)) ? $matches[1] : '';
}

Na verdade é apenas uma função para alterar o conteúdo do RSS/Feed do WordPress, mas eu inseri também uma função para extrair apenas a url do thumbnail do post e assim inserir a imagem destacada no feed.

Não é aconselhável inserir tags html na descrição do feed, então talvez seja interesse remover essa linha:

add_filter('the_excerpt_rss', 'inflar_custom_feed_content'); //altera a versão resumida do post

Deixe seu comentário com dúvidas.