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!