Feeds do WordPress – Resolução de Problemas

ago 11
2009

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:

Figura 1: Erro do Feed do WordPress no FireFox

Figura 1: Erro do Feed do WordPress no 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.

Figura 2: Configuração do FeedBurner para feeds

Figura 2: Configuração do FeedBurner para feeds

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.

Assine o feed de comentários

2 Responses to “Feeds do WordPress – Resolução de Problemas”

  1. duh says:

    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+

Leave a Reply

Últimos Visitantes

Google Friend Connect