A partir de WordPress 2.9, la subida de cualquier tipo de archivo que no se encuentre en una lista está desactivada. Previamente a esa versión, en WordPress existía un bug mediante el cual se podía subir un archivo .php. Es por eso que ahora el poder subir archivos de ciertos tipos está deshabilitado aunque seas administrador.
No me gusta utilizar plugins para resolver problemas. Viendo esta línea de código, se me ocurrió algo descabellado, que es agregar al archivo wp-config.php lo siguiente:
define('ALLOW_UNFILTERED_UPLOADS', true);
Resuelves el problema, pero comprometes la seguridad de WordPress.