Cambiar URLs de imágenes destacadas en la base de datos

1 nov 2012, 16:20:57
Vistas: 16.3K
Votos: 1

Estoy almacenando mis imágenes en otro servidor y he logrado cambiar las URLs en la base de datos, pero no puedo cambiar las URLs de las imágenes destacadas.

No agregaré más imágenes, solo necesito cambiar la URL para todas las imágenes existentes.

Este es el SQL que usé para las imágenes normales:

UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://www.oldsiteurl.com', 'src="http://newsiteurl.com');

y

UPDATE wp_posts SET  guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://newsiteurl.com') WHERE post_type = 'attachment';

Todas las demás imágenes están bien excepto las imágenes destacadas.

0
Todas las respuestas a la pregunta 1
3

La imagen destacada se almacena en la tabla *_postmeta bajo la clave _thumbnail_id. De hecho, es probable que tengas muchas URLs de imágenes/medios en esa tabla que no hayas cambiado. El problema es que varias cosas se almacenan en arrays serializados y cambiarlos con SQL como se mencionó anteriormente probablemente romperá esos arrays. Sugeriría usar algo como Velvet Blues Update Urls.

Parece que has cambiado todas tus URLs y no solo las URLs de imágenes/medios. ¿Era eso lo que pretendías?

Además, nunca deberías cambiar el guid.

NOTA y EDICIÓN: Acabo de notar una excepción para medios adjuntos en el Codex de WordPress. No recuerdo haber visto eso antes y no estoy seguro de qué se trata ni qué pensar al respecto en este momento.

1 nov 2012 17:55:07
Comentarios

+1 por el comentario sobre el GUID, es un identificador, no una salida.

Wyck Wyck
1 nov 2012 18:50:27

Sí, me refería a cambiar el GUID que incluía WHERE post_type = 'attachment'. Gracias, entiendo el tema del feed completo pero todavía no sé por qué querría URLs antiguas en mi sitio después de un cambio de dominio o al menos un cambio del entorno de desarrollo local al sitio en vivo (sé que debería usar control de versiones pero eso me confunde muchísimo).

stemie stemie
1 nov 2012 18:54:26

No son URLs, no realmente. Parecen URLs pero no lo son. Cualquier cadena única global funcionaría. Se usan URLs porque es una forma bastante confiable de crear cadenas únicas. Sería menos confuso si estuviera hasheado, o algo similar, como se insinúa en el Codex con la frase "alguna representación de la url".

s_ha_dum s_ha_dum
1 nov 2012 19:14:58