Bia Kunze, além de ser a odontologista mais linda da internet (tive que concordar com meu amigo Neto Cury), também veio mostrar o outro lado da moeda com relação à campanha de Feeds Completos iniciada pelo Rafael Arcanjo.
Ela cita — sem deixar de ter razão — um argumento irrefutável, em seu comentário em meu post:
Para quem lê feeds em dispositivos portáteis, vale lembrar que textos muito longos exigem maior tráfego de dados. E na internet móvel, se paga pelo tráfego, e não pelo tempo de conexão. Mesmo quem tem tráfego ilimitado ou usa o wi-fi, muitas vezes se depara com a pouca memória do aparelho…
Às vezes há posts que não interessa você ler, e aà já é tarde, seus preciosos KB já foram consumidos.
Só posso afirmar, após conhecer o outro lado da moeda, que a blogosfera também deve ser um lugar democrático. E como eu sou uma pessoa que adora democracia, me vi logo à frente de um impasse.
Como fazer, afinal, para disponibilizar ambos os feeds, sendo um completo — para quem está com conexões de banda larga e/ou quer ler os assuntos sem precisar necessariamente visitar meu blog — e outro, resumido, para atender à leitores e leitoras especiais como a Bia, que têm nos PDA’s e similares não apenas instrumentos de lazer, mas também de trabalho?
Felizmente, para mim, a resposta veio rápido.
Faça uma “cirurgia” em seu feed RSS 2.0
Vou propôr a vocês uma “cirurgia”: E prometo que, ao final do procedimento cirúrgico, teremos tanto o feed completo quanto o resumido. Para isso, tudo o que vamos precisar é do próprio Wordpress, além de um pouquinho de conhecimento — bem pouco, mesmo — de PHP.
Pra começo de conversa, escolhi o feed RSS 2.0 de meu site. Não foi por nenhuma razão em especial, já que poderia ter sido qualquer outro feed: O Wordpress disponibiliza os formatos Atom, RSS 0.92 e RDF, além da minha própria escolha.
De qualquer forma, para seguirmos adiante, vamos primeiro entender um pouco sobre a forma como o Wordpress trata dos feeds. Quem acompanha o BlogAjuda sabe que o Rodrigo está trabalhando em uma série de artigos para criar um tema para esta ferramenta de edição de blogs. Pois bem. Criar temas envolve mexer com templates, que nada mais são do que modelos para o conteúdo do blog.
Além dos templates para o blog, que controlam a forma como aparecem a página principal, os comentários e as páginas para artigos individuais, entre outros, o Wordpress também possui modelos para os feeds. Estes modelos, embora não tão amigáveis quando os dos temas, são exatamente o ponto onde precisamos mexer. Então, vamos em frente.
No diretório de instalação do Wordpress — o mesmo onde está o arquivo wp-config.php — existem quatro arquivos padrão, chamados wp-rss2.php, wp-rss.php, wp-rdf.php, wp-atom.php e wp-commentsrss2.php. Todos eles controlam a forma como o sistema irá trabalhar com os feeds RSS — o último deles, inclusive, trata do feed de comentários. Vamos dar especial atenção ao arquivo wp-rss2.php.
Para continuar, faça o download do arquivo wp-rss2.php que está no seu blog para o seu computador e abra com um bom editor de texto, de preferência com numeração de linhas 1.
Uma vez tendo aberto o arquivo, procure o trecho de código abaixo. No caso da versão de Wordpress que eu estou usando, ele começa exatamente na linha de número 40:
1 2 3 4 5 6 7 8 9 10 | <?php if (get_settings('rss_use_excerpt')) : ?> <description><![CDATA[<?php the_excerpt_rss() ?>]]></description> <?php else : ?> <description><![CDATA[<?php the_excerpt_rss() ?>]]></description> <?php if ( strlen( $post->post_content ) > 0 ) : ?> <content:encoded><![CDATA[<?php the_content('', 0, '') ?>]]></content:encoded> <?php else : ?> <content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded> <?php endif; ?> <?php endif; ?> |
Para quem leu meu post anterior, este é o bloco que, “nos bastidores do sistema” faz com que a escolha pessoal do usuário em disponibilizar um feed completo ou resumido ocorra. Notem, sobretudo, esta linha:
1 | <?php if (get_settings('rss_use_excerpt')) : ?> |
Ela contém uma tag 2 que obtém das configurações de seu blog a informação sobre o seu feed. Caso rss_use_excerpt retorne um valor verdadeiro, isso significará que você está disponibilizando um feed resumido. Caso contrário, você está jogando no time das pessoas que têm feeds completos disponibilizados.
Pois bem, é hora de realizar a “intervenção cirúrgica” que mencionei anteriormente. Basicamente, deixaremos de verificar se o usuário deseja um feed completo ou não, e passaremos a forçar a geração de um feed resumido. Para isso, ainda tendo em mente o primeiro dos blocos de código acima, elimine as linhas de números 40 e de 42 a 49 do arquivo. Para facilitar a explicação, a figura abaixo destaca as linhas que iremos apagar:

A exclusão das linhas destacadas na figura acima fará com que este bloco, após a edição, fique com apenas uma linha, como a seguir:
1 | <description><![CDATA[<?php the_excerpt_rss() ?>]]></description> |
Salve o arquivo com um nome diferente do original. No meu caso, usei o nome wp-rss2-sumario.php. Em seguida, faça o upload deste novo arquivo para o mesmo diretório onde estava o original. Em seguida, será hora de testarmos o novo feed resumido que acabamos de criar.
O teste será prático, simples e indolor: Consistirá em testarmos nosso novo feed com um leitor de nossa preferência. Para esta demonstração, continuarei um fiel adepto do novo Google Reader.

Uma vez adicionado o endereço do novo arquivo do qual acabamos de fazer o upload, voilá! Um feed resumido instantâneo é produzido, tal como podemos observar pela ilustração abaixo, em que o indicador [...] está ativo.

Pronto! Com este resultado, basta criar uma referência ao novo feed na barra lateral de seu blog (tal como eu mesmo já fiz, depois deste tutorial) para que todas as pessoas possam usufruir de feeds completos ou resumidos a seu bel-prazer. O que posso garantir é que todos os seus leitores estarão plenamente satisfeitos depois desta.
Popularity: 13% [?]

(7 votos, média: 4.86 de 5)
Perfeito! Não há outra coisa a dizer sobre este tutorial… Mostra na prática, detalhadamente, a sugestão dada pela Bia para resolver o impasse dos feeds completos vs. feeds resumidos.
Daniel, acredito que o assunto seria muito bem-vindo no BlogAjuda. Você decide se é melhor reproduzir este texto lá, ou escrever uma nota com um link pra cá. Só peço para que, caso opte por reproduzir o texto lá, publique-o amanhã (aquele lance do “um-texto-por-dia”; publiquei um hoje cedo).
Qualquer coisa, entre em contato.
[]’s!
Pronto, tu fez um hack!
Abração
Mas depois q eu fiz o esquema do feedburner, o “zé preguiça” incorporou em mim, e preferiu deixar daquele jeito mesmo!
Caramba! Mais uma vez, muito bom Daniel
Preciso voltar aqui com tempo para entender isso direitinho e brincar de programador com meu WP. Estou até vendo…
Puxa! Mais prático o leitor usar um feed-reader inteligente que permita configurar para ler só o resumo, não?
Sugiro obloglines que bem inteligente e amigável com dispositivos móveis!
[]’s
Daniel, não seria mais fácil usar o arquivo wp-rss.php, que já é resumido?
Danillo,
Tem razão. Não tinha reparado no arquivo, que aliás faz parte da instalação padrão do WordPress. Por outro lado, a solução que arrumei bem que serve para exercitar o lado geek que existe em nós, certo?
É mais divertido!
Abraço!
Olá,
Acho que chego um pouco atrasado na discussão, mas acredito que o meu artigo pode dar um bom viés acerca do tema exposto por você nesse artigo.
Gostaria de um feedback posterior sobre a relevância do artigo.
Muito obrigado,
Simon
Daniel,
Depois de alguns problemas com hospedagem e bd vou reabrir meu blog e já vou aproveitar sua dica.
Parabéns!