¿Por qué WordPress en localhost no encuentra actualizaciones?
Tengo WordPress funcionando en WAMP. Por alguna razón, cuando verifico actualizaciones del núcleo y de mis plugins, me indica que todo está actualizado, aunque sé que tengo una versión atrasada del núcleo y de tres plugins. ¿Por qué no se detectan estas actualizaciones?
Verifiqué los permisos de archivos y están correctos. Intenté desactivar todos los plugins. Sin diferencia. Además, intenté reinstalar mi versión actual del núcleo de WordPress y obtuve el siguiente resultado:
Descargando actualización desde http://wordpress.org/wordpress-3.5.1-no-content.zip…
Descarga fallida.
Instalación fallida
No obtengo más información. ¿Alguna idea de qué está pasando? Una versión casi idéntica en el servidor en vivo muestra las actualizaciones sin problemas.
Actualización: No he obtenido ninguna respuesta que resuelva este problema. Información útil sería saber a qué dominios o subdominios necesita conectarse WordPress para verificar y descargar actualizaciones. Así podría depurar la conexión a esos dominios.
Actualización: Sigo sin obtener soluciones. Sospecho que tiene que ver con que Apache no puede conectarse a servidores externos, pero no tengo idea de cómo resolverlo.

Yo mismo uso XAMPP, pero WAMP no es muy diferente.
Apuesto a que no has habilitado el módulo curl. WordPress puede usar otros métodos (streams y fsockopen) como alternativa, pero estos también pueden estar deshabilitados por defecto en una instalación estándar. Curl es preferido y fácil de habilitar.
- Cierra WAMP
- Ve al directorio \bin\php\versión en WAMP
- Edita el php.ini, y descomenta la línea que dice extension=php_curl.dll
- Haz lo mismo en \bin\Apache\versión\bin\
- Guarda y reinicia WAMP.
Edición: WAMP también puede tener una forma más fácil de hacer esto a través de la interfaz gráfica. Busca "PHP extensions" y "php_curl" y asegúrate de que está habilitado.

Interesante. Sospecharía que este no es el problema, porque las actualizaciones solían funcionar y luego simplemente dejaron de hacerlo de repente. Pero por curiosidad, lo revisé. El php.ini en mi directorio de Apache ya tenía curl habilitado, pero el del directorio de PHP no, así que lo habilité, pero obtengo un error al iniciar WAMP; "No se puede cargar la biblioteca dinámica... php_curl.dll ...la configuración lado a lado es incorrecta..."

@JosiahSprague Supongo que te falta el archivo .dll entonces. Asegúrate de que esté en el directorio de extensiones de PHP (diferente para Windows y Unix, creo).

El .dll está ahí. También verifiqué los permisos del archivo en el .dll, y están bien.

Dado ese tipo de problema, eliminaría WAMP e instalaría XAMPP en su lugar. XAMPP funciona de maravilla.

- Primero abre /wp-config.php
Lo primero que debes hacer es abrir el archivo wp-config.php desde la carpeta raíz de WordPress, el archivo se encuentra en wordpress/wp-config.php
- Inserta FS_METHOD
Pega el siguiente código en tu archivo wp-config.php, preferiblemente justo debajo de cualquier otra línea de código.
define('FS_METHOD','direct');
Y guárdalo, definitivamente funcionará. A mí me funcionó con éxito.

"Descarga fallida." proviene del fallo en la función download_url()
¿Puedes intentar ejecutar esto dentro de uno de tus archivos?
$url = "http://wordpress.org/wordpress-3.5.1-no-content.zip";
require_once(ABSPATH . "wp-admin/includes/file.php");
$file = download_url($url);
echo "<pre>";
var_dump($file);
echo "</pre>";
Eso debería darte uno de los siguientes mensajes de error:
WP_Error('http_no_url', __('URL proporcionada no válida.'));
WP_Error('http_no_file', __('No se pudo crear el archivo temporal.'));
WP_Error( 'http_404', trim( wp_remote_retrieve_response_message( $response ) ) );
WP_Error('http_request_failed', __('No se proporcionó una URL válida.'));
WP_Error( 'http_request_failed', __( 'El usuario ha bloqueado solicitudes a través de HTTP.' ) );
WP_Error( 'http_request_failed', __( 'El directorio de destino para la transmisión de archivos no existe o no tiene permisos de escritura.' ) );

Creo que estás en el camino correcto, pero probé esto y obtuve: Fatal error: Call to undefined function download_url() in C:\wamp\www\doulos\wp-content\themes\doulos\front-page.php on line 9

He notado que ocurren cosas raras al ejecutar WAMP sin derechos de administrador. Si nada de lo anterior funciona, intenta iniciar WAMP Server como administrador y comprueba si eso ayuda (incluso si tu cuenta de usuario tiene derechos de administrador). Si no se ejecuta como administrador, eso podría impedir que WordPress detecte que hay una actualización disponible.
Para ejecutar WAMP como Administrador, haz clic en el menú de inicio, escribe wamp, haz clic derecho en "Start wampServer" y luego selecciona "Ejecutar como administrador".

Tengo problemas similares y primero que nada diría que uses XAMPP, es increíble para cualquier desarrollo PHP en Windows, ya que WAMP me falló muchas veces antes y XAMPP siempre ha funcionado & incluso tiene una versión portable (la he estado usando durante los últimos 4-5 años).
Ahora, para tu problema, ya has probado otras sugerencias, así que no mencionaré esas (como permisos, privilegios de administrador, etc.), pero creo que podría ser un problema de conexión lenta a Internet, ya que así me ha pasado a mí.
Intenta verificar si se está descargando algo usando alguna herramienta de monitoreo de red (el Administrador de tareas > pestaña Red puede darte una idea aproximada si no hay otra aplicación de Internet ejecutándose), y si ves transferencia de datos durante un tiempo suficiente para descargar 4-5 MB, entonces está bien; de lo contrario, el problema está en WAMP o en los permisos del sistema de archivos, etc.
También tuve la sospecha de que tu archivo de hosts podría haber sido modificado por alguien, así que verifica si wordpress.org no está en tu archivo de hosts & no está apuntando a 127.0.0.1 o a algo diferente de los servidores reales de wordpress.org.
¡Espero que esto te ayude!

Recuerdo que me encontré con una situación similar hace un tiempo. Lo que resolvió el problema en ese caso fue especificar un directorio temporal en mi archivo wp-config. Prueba si esto te funciona. Solo agrega la siguiente línea a tu archivo wp-config.php:
define('WP_TEMP_DIR','/ruta-a-tu-carpeta-recien-creada');
