Torna a Blog

Wordpress: soluzione all’errore dell’output del feed

xmlIl feed di Wordpress, a volte visualizza un errore perché vengono stampati degli spazi bianchi prima della dichiarazione XML, invalidando così il file.

Il messaggio di errore visualizzato è:

XML Parsing Error: XML or text declaration not at start of entity

oppure, se stai usando il validatore di W3:

XML Parsing Error: XML declaration allowed only at the start of the document

Questo significa che prima del carattere < ci sono caratteri inaspettati (in questo caso degli spazi bianchi) che devono essere rimossi per una corretta dichiarazoine XML.

Cercando su internet una possibile soluzione non troppo invasiva, ho trovato un metodo semplice per risolvere il problema. Quello che bisogna fare è aggiungere una funzione nel processo di creazione del feed di Wordpress che cancelli gli eventuali caratteri stampati prima della dichiarazione XML.

Il file di riferimento è: wp-includes/feed-rss2.php

Aprire il file con un editore di testo e, subito dopo il seguente codice, posizionato all’inizio del file

1
2
header('Content-Type: text/xml; charset=' . get_option('blog_charset'), true);
$more = 1;

inserire il seguente codice:

3
4
5
$out = ob_get_contents();
$out = str_replace(array("\n", "\r", "\t", " "), "", $input);
ob_end_clean();

Ripetere questi passaggi per il feed dei commenti: feed-rss2-comments.php.

Note: si consiglia ripetere i passaggi precedenti per tutti i file che generano i feed: feed-rss2-comments.php, feed-rss.php, feed-rdf.php, feed-atom.php, feed-atom-comments.php.

Via w3it.org

Un Commento

Lascia un commento