Dalla versione 2 di Wordpress, scrivere codice di esempio in un post è diventato davvero traumatico: il tag <PRE> non mantiene l’ indentazione del codice, fondamentale per garantire una piacevole lettura del codice, opportunamente pre-formattato dagli editor di sviluppo. Il problema? E’ il visual editor di Wordpress, che dalla release 2, filtra il testo del post e scombina il contenuto del tag <PRE>. Dopo svariati tentativi e ricerche sul web, ho finalmente trovato diverse soluzioni a questo problema, e ho deciso di raccoglierle in questo post.

Wordpress, a partire dalla versione 2.5, risolve questo bug, quindi è auspicabile effettuare un upgrade alla più recente versione di Wordpress.

Tuttavia, se vogliamo mantenere la versione di Wordpress che stiamo utilizzando, possiamo seguire una di queste 2 soluzioni.

In ogni caso, per una buona convivenza tra sample-code e Wordpress, bisogna disabilitare la correzione automatica di contenuto html ritenuto non valido. Per disabilitarlo, andare in Options, Writing e togliere la spunta da: WordPress should correct invalidly nested XHTML automatically.

La prima soluzione prevede semplicemente di disabiltare il visual editor: in questo modo, scriveremo il testo post avendo cura di scrivere i tag html che ci servono. Per disabilitarlo, andare in Users, selezionare il proprio utente, e nella pagina del profilo togliere la spunta da Use the visual editor when writing.

La seconda soluzione prevede l’utilizzo del plugin Save My <pre> che sostanzialmente esclude il tag <pre> ed il suo contenuto, dalla formattazione automatica dell’ html effettuata da Wordpress. Nella home del plugin, è possibile leggere una descrizione molto dettagliata del bug, e della funzione wpautop, che internamente si occupa del filtraggio del contenuto del post. Per scaricare il plugin, clicca qui.

Condividi questo articolo: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • DZone
  • Furl
  • Netvouz
  • Reddit
  • Slashdot
  • StumbleUpon
  • Technorati
  • TwitThis