El manejo de imágenes es un tema a mejorar en WordPress. Los problemas aparecen sobre todo cuando se trata de imágenes grandes. El asunto es el siguiente, cuando la imagen sobrepasa los 3 megapixels WP no crea un thumbnail. La razón del límite es que la reducción de tamaño de la imagen usa la función imagecreatetruecolor, que usa mucha memoria, por lo que la manipulación de imágenes grandes haría colapsar a la mayoría de las instalaciones estandard de PHP.

El asunto es que esas imágenes son inusables dentro del panel de administración de WP y, en equipos no muy potentes, también hacen inusable el navegador de imágenes, además de ocupar innecesariamente espacio en el servidor. La solución obvia es no subir imágenes grandes, pero la cosa se complica cuando se trata de blogs multiautor, donde previsiblemente la mayoría de los autores, si no todos, tienen poca competencia en este asunto de los megapíxeles y demás.

Una solución más seria es limitar el tamaño de los archivos desde el mismo WP. Se puede hacer de una manera muy simple insertando en /wp-admin/upload-functions.php después de la línea 110, al comienzo del formulario para subir archivos, una única línea de código:

<input type="hidden" name="MAX_FILE_SIZE" value="120000" />

El valor 120000 es en bytes y admite, más o menos, hasta un jpg de 800×600 en buena calidad. Por supuesto, se puede probar con valores mayores o menores de acuerdo a la disponibilidad de memoria en el servidor y el uso que se le vaya a dar a las imágenes en el sitio. Lo que hace esta directiva es simplemente devolver un mensaje de error cuando el archivo sobrepasa el tamaño especificado.

Si nos ponemos exquisitos, queda el asunto de quela información en el mensaje de error es a la vez demasiado técnica e insuficiente:

El archivo a subir sobrepasa la directiva MAX_FILE_SIZE (tamaño máximo de archivo) especificada en el formulario HTML.

Lo mejor sería reescribirlo especificando el tamaño máximo del archivo, mostrando el camino a seguir y ofreciendo asistencia en el caso en que el usuario no pueda solucionar el problema por sus propios medios. Hay dos modos de arreglar el mensaje de error:

1. abrir /wp-admin/admin-functions.php y comentar la línea 1915:

__( "The uploaded file exceeds the MAX_FILE_SIZE directive that was especified in the HTML form." ),

Se la puede reemplazar por algo como lo que sigue:

__( "El archivo que intenta subir excede el m&aacute;ximo de 100kb admitido por el servidor. Int&eacute;ntelo nuevamente reduciendo el tama&ntilde;o del archivo o consulte al administrador del sitio (admin@misitio.com).");

2. la segunda manera implica editar el archivo de idioma de la traducción al español (es_ES.po) modificando la cadena en cuestión. (Ver http://codex.wordpress.org/Localizing_WordPress y http://wordpress-es.sourceforge.net/).