Gràcies a aquest post de Juanjo he descobert GeSHi, una clase de php que permet colorejar la sintaxis del codi de forma automàtica i suporta uns quants llenguàtges diferents. Per a integrar-lo amb WordPress he usat aquest plugin, aquí podeu veure els resultats:
Fragment de codi en PHP:
function get_mime_type(&$structure) {
$primary_mime_type = array("TEXT", "MULTIPART", "MESSAGE", "APPLICATION", "AUDIO", "IMAGE", "VIDEO", "OTHER");
if($structure->subtype) {
return $primary_mime_type[(int) $structure->type] . '/' . $structure->subtype;
}
return "TEXT/PLAIN";
}
Fragment de codi en bash script:
#!/bin/sh
source ./include.sh
function error {
echo $1
exit 1
}
function isfield() {
out=""
cfound="no"
lon=`echo -n $1 |wc -c`
lon=`echo $lon` # remove spaces
for ((i=1;i< =$lon;i++)); do
cchar=`echo $1 |cut -c $i`
if [ "$cchar" == "\"" ]; then
if [ "$cfound" == "no" ]; then cfound="yes" ; else cfound="no" ; fi
elif [ "$cchar" == "," ]; then
if [ "$cfound" == "yes" ]; then out="${out}\," ; else out="${out};" ; fi
else
out="${out}${cchar}"
fi
done
echo $out
}
A que queda bé?

github.com/poliva
Google+
linkedin.com/in/pauoliva
twitter.com/pof
Queda molt maco, li acabas de fer un :syntax on al teu tag pre
Oi que es maco? Encara que aquest fron negre que fas servir no queda masa be
Uooo! Com mola. Ho poso a la cua del ToDo.
Sip que queda curiós si. Fa molt més entenedor el codi. La font una mica petita pel meu gust.
Uauu! Molt xulo! Fa temps ho vaig estar buscant, i vaig acabar pensant deu ser impossible..
Per cert, es poden fer funcions en un shell script? Ara me n’entero… m’hauré de documentar millor
si, es poden fer funcions, els paràmetres son $1 $2… igual q si cridessis un script nou.
glups! després de l’upgrade a WP2 ha deixat de funcionar el plugin
Ja he fet que funcioni amb WP2, només calia canviar la prioritat a la funció add_filter del plugin de 6 a 11 i afegir un strip_tags, ha quedat així:
[...]
$geshi = new GeSHi(strip_tags($codes[$i]['code']), $codes[$i]['lang'], ABSPATH.'/wp-content/plugins/geshi/');
[...]
add_filter('the_content', 'GeshiSyntaxColorer', 11);
add_filter('the_excerpt', 'GeshiSyntaxColorer', 11);
add_filter('comment_text', 'GeshiSyntaxColorer', 11);