Entonces, con el código que te pasó pateketrueke tendría que funcionar.
Mirá, vos tenías esto:
Cita: if(in_array("http://www.sitio .com/es/categoria/categoria-a",$urls)){
$css= '<style type="text/css">ul#areas li#ZAF, path#jvectormap1_ZAF {display: inherit;}</style>';
}
Que, cada vez que entra al if, abre y cierra una estiqueta de estilos, que como entraba muchas veces, te generaba más de 30 como decís.
Qué corrigió el?
Código PHP:
Ver originalecho '<style type="text/css">'; //Abre solo una etiqueta al principio
//Imprime cada estilo dentro de esa misma etiqueta
if(in_array("http://www.sitio .com/es/categoria/categoria-a",$urls)){ echo 'ul#areas li#ZAF, path#jvectormap1_ZAF {display: inherit;}';
}
if(in_array("http://www.sitio .com/es/categoria/categoria-b",$urls)){ echo 'ul#areas li#ZAG, path#jvectormap1_ZAG {display: inherit;}';
}
if(in_array("http://www.sitio .com/es/categoria/categoria-c",$urls)){ echo 'ul#areas li#ZAX, path#jvectormap1_ZAX {display: inherit;}';
}
echo '</style>'; //Cierra al final
Entonces con eso solo abrís una etiqueta, por más que entre a 100 ifs.
Entonces, si el tema era que no se puede tener más de 30 hojas de estilo, con eso está solucionado.