>Solução Erro Feeds WordPress

>Algumas instalações pessoais de wordpress podem apresentar erro na saída de feed. Em sua maioria estes erros são causados por existência de espaços em branco antes da declaração de XML que é o responsável pelo resultado quebrado.

Demonstração saída com erro:

Erro no processamento de XML: declaração xml ou de texto fora do início da entidade Posição: http://www.teste.com.br/xxxxx/feed/ Número da linha 4, coluna 1:

Isto significa que se antes do caractere < houver caracteres indesejados, estes precisam ser eliminados (também os espaços em branco) para que a saída tenha uma declaração limpa de XML.


< ?xml version=”1.0″ encoding=”UTF-8″?>

A solução mais simples é a alterar o arquivo de saída wp-includes/feed-rss2.php.

Abra com um editor de texto e localize o seguinte código:


header(‘Content-Type: ‘ . feed_content_type(‘rss-http’) . ‘; charset=’ . get_option(‘blog_charset’), true);
$more = 1;

Abaixo da linha $more = 1; adicione o código:

$out = ob_get_contents();
$out = str_replace(array(“\n”, “\r”, “\t”, ” “), “”, $input);
ob_end_clean();

Mas o que é e para que servem as 3 linhas?

Começando pelo básico, ob significa Output Buffer, que nada mais é do que o Buffer de saída.

Buffer á uma região da memória onde os dados ficam armazenados temporariamente até que sejam despejados para a aplicação.

Você deve ter se deparado com algum erro de Headers already sent. Isso se dá porque já foi enviada alguma saída para o navegador.
O ob_get_contents(), irá retornar o conteúdo do buffer.

str_replace(array(“\n”, “\r”, “\t”, ” “), “”, $input); irá remover todos os espaços em branco existentes;

ob_end_clean() irá limpar, esvazia o buffer e encerrá-lo.

Deu uma olhada agora e, lá está seu feed prontinho😉

Um pensamento sobre “>Solução Erro Feeds WordPress

  1. Ederson, simplesmente sensacional. Esse é o tipo de post que faz a diferença. Cara, parabéns pelo artigo. Foi realmente útil. Procurei pela internet toda e nada, até encontrar seu site. Agora meu feed está 100%. Abraço!

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s