Adicionando imagens no feed RSS
Tutoriais

Adicionando uma imagem destacada no RSS do WordPress

Por padrão, todos os sites que utilizam o WordPress contam com um feed RSS automático, porém, o feed não possui suporte nativo para exibir as imagens destacadas das postagens.

Exibi-las diretamente no RSS pode ser útil em diversos casos, como utilizar o feed para uma newsletter automática de novos posts, ou para exibi-las em um leitor como o Feedly. Felizmente, adicionar o suporte para incorporar a imagem destacada é uma tarefa relativamente simples.

Para isso, precisaremos injetar um código no arquivo functions.php. Certifique-se de fazer isso em um tema filho para garantir que nenhuma alteração seja perdida em uma possível atualização do tema pai. Também faça um backup antes, pois o functions.php é um arquivo sensível, e caso algo dê errado, ele pode quebrar todo o seu site.

Destrinchando cada linha

Iniciamos o código criando uma função para adicionar a imagem no RSS. Utilizamos a variável $post para conseguir extrair as informações que precisamos dos posts.

Feito isso, devemos informar ao WordPress que a variável $output está vazia, para inserirmos apenas as informações que necessitamos.

Logo após, é feita uma verificação se o post possui uma imagem destacada, e caso o resultado seja verdadeiro, armazenamos o ID da imagem e a URL da imagem no tamanho “full”. 

Caso preferir, pode ser utilizado qualquer um dos outros tamanhos que o WordPress oferece: 

  • Thumbnail: 150x150px;
  • Medium: 300x300px;
  • Medium_large: 768x768px;
  • Large: 1024x1024px;
  • Full: O tamanho original da imagem;
  • Array(x,y): Substitua X e Y por qualquer valor que desejar;

O Codex do WordPress conta com ainda mais detalhes sobre as imagens destacadas. Dependendo do tema utilizado, ainda podem existir outras formas de adicionar o suporte à imagens destacadas no RSS. Pesquise na documentação do seu tema se existe esta funcionalidade.

Depois de capturada as informações sobre a imagem, precisamos inseri-la na variável output, utilizando uma tag XML específica que define que aquele conteúdo é uma imagem destacada.

Finalizado isso, basta adicionarmos uma ação chamando a função criada anteriormente para que os resultados sejam aplicados. E pronto!

O resultado final

O resultado final deve ficar assim:

// Cria uma função
function add_rss_image() {
    global $post;
    $output = '';
    // Procura se o post possui uma imagem destacada
    if ( has_post_thumbnail( $post->ID ) ) {
       $thumbnail_ID = get_post_thumbnail_id( $post->ID );
        $thumbnail = wp_get_attachment_image_src( $thumbnail_ID, 'full' );
            // Adiciona a tag media no XML com as informações de URL, altura e largura da imagem
        $output .= '<media:content xmlns:media="http://search.yahoo.com/mrss/" medium="image" type="image/jpeg"';
        $output .= ' url="'. $thumbnail[0] .'"';
        $output .= ' width="'. $thumbnail[1] .'"';
        $output .= ' height="'. $thumbnail[2] .'"';
        $output .= ' />';
    }
    echo $output;
    }
// Chama a função que acabou de ser criada
add_action( 'rss2_item', 'add_rss_image' );

Com este código adicionado no seu functions.php, o seu site já deve ter suporte para imagens destacadas no feed RSS. Com isso, você consegue desenvolver uma estratégia de e-mail marketing enviando seus conteúdos automaticamente por e-mail e com suporte às imagens de destaque. Isso pode ser ótimo para o SEO do seu site!

Tem algum tutorial sobre WordPress que gostaria de ver por aqui? Deixe nos comentários 😉

Até a próxima!

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!