Il 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







[...] Tornato su google sono riuscito a scovare una semplice procedura per risolvere il problema sul sito: http://www.kifulab.net [...]