O WordPress pode retornar erros nos feeds. A solução para os problemas encontrei em W3it: Wordpress: feed output error solution. How to remove white spaces and fix problems . Segundo o artigo publicado pelo blog acima, o erro não acontece sempre, já que não houve problemas durante os testes. De qualquer forma, o erro ocorreu com o feed desse blog. Na figura 1, temos como o erro é visto no Mozila Firefox:
O erro acima ocorre porque há inclusão de caracteres extras no início do feed. Para resolver esse problema, é necessário modificar os arquivos dos feeds que estão localizados na pasta wp-includes. Como eu uso o FeedBurner, pus para ler o feed de http://www.desenvolvendosoftware.com.br/feed/rss2/ e uso configuração interna para converter para outros formatos, assim preciso modificar e testar apenas dois feeds (um principal e outro de comentário). A configuração está indicada abaixo: na aba Optimize escolha a opção SmartFeed.
Os arquivos a serem modificados são feed-rss2.php e feed-rss2-comments.php da pasta wp-includes. As listagens abaixo mostram o início dos arquivos já modificados. No arquivo feed-rss2.php foram acrescentadas as linhas 11 a 13, e no arquivo feed-rss2-comments.php as linhas 13 a 15. Repare que o código acrescentado em ambos os arquivos é o mesmo.
feed-rss2.php
1 <?php 2 /** 3 * RSS2 Feed Template for displaying RSS2 Posts feed. 4 * 5 * @package WordPress 6 */ 7 8 header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' 9 . get_option('blog_charset'), true); 10 $more = 1; 11 $out = ob_get_contents(); 12 $out = str_replace(array("\n", "\r", "\t", " "), "", $input); 13 ob_end_clean(); 14 15 echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'. 16 '>'; ?>
feed-rss2-comments.php
1 <?php 2 /** 3 * RSS2 Feed Template for displaying RSS2 Comments feed. 4 * 5 * @package WordPress 6 */ 7 8 header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' 9 . get_option('blog_charset'), true); 10 11 echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'. 12 '>'; 13 $out = ob_get_contents(); 14 $out = str_replace(array("\n", "\r", "\t", " "), "", $input); 15 ob_end_clean(); 16 ?>
No artigo W3it: Wordpress: feed output error solution. How to remove white spaces and fix problems também é colocado um problema em relação à URL no feed de comentários, sendo estas do tipo http://www.axew3.com/b10g/?page_id=5&cpage=1#comment-357 podem ocasionar problemas em alguns browsers devido ao caracter “&”. No entanto, as URL dos meu comentários são da forma http://www.desenvolvendosoftware.com.br/2009/08/codigo-fonte-com-cores/comment-page-1/#comment-10.
Por que a diferença? No meu artigo, Configurações Importantes WordPress: URL e Anti-Spam explico como gerar URL “bonitas” para as postagens. Graças a essa configuração, o caracter problemático não aparece e não é necessário fazer nenhuma modificação adicional.
Depois de modificar os arquivos, é necessário dar um “ping” no FeedBurner, senão o feed com erro continuará a ser utilizado. O link para o ping está localizado bem abaixo, está em destaque na figura 2. Antes da atualização do WordPress, faça o backup de ambos os arquivos, pois eles serão alterados. Caso você não uso o FeedBurner, os outros arquivos de feed localizados na pasta wp-includes também precisarão ser alterados.





![Verifique o meu feed [Valid RSS]](/images/valid-rss.png)
agosto 29th, 2009 at 5:46
Obrigado por esclareçer , isso me ajudo muito. Já estava sem noção do que seria o problema.
vlw mesmo por explica.
Abraço at+
maio 12th, 2010 at 9:05
[...] ao desenvolvimentos de software que apresentou a resolução deste [...]