Schimbarea URL-urilor imaginilor reprezentative în baza de date

1 nov. 2012, 16:20:57
Vizualizări: 16.3K
Voturi: 1

Stochez imaginile mele pe un alt server și am reușit să schimb URL-urile în baza de date, dar nu reușesc să schimb URL-urile imaginilor reprezentative.

Nu voi mai adăuga alte imagini, așa că vreau doar să schimb URL-ul pentru toate imaginile.

Acesta este codul SQL pe care l-am folosit pentru imaginile normale

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

și

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

Toate celelalte imagini sunt în regulă, cu excepția celor reprezentative.

0
Toate răspunsurile la întrebare 1
3

Imaginea reprezentativă este stocată în tabelul *_postmeta sub cheia _thumbnail_id. De fapt, este posibil să aveți o mulțime de URL-uri pentru imagini/media în acel tabel, pe care nu le-ați modificat. Problema este că o serie de lucruri sunt stocate în array-uri serializate și modificarea lor cu SQL așa cum am menționat mai sus va (probabil) strica acele array-uri. Aș sugera să folosiți ceva de genul Velvet Blues Update Urls.

Se pare că ați schimbat toate URL-urile și nu doar cele pentru imagini/media. Asta ați intenționat?

De asemenea, nu ar trebui să modificați niciodată guid-ul.

NOTĂ și EDITARE: Tocmai am observat o excepție pentru fișierele media atașate în WordPress Codex. Nu-mi amintesc să fi văzut asta vreodată și nu sunt sigur despre ce este vorba sau ce să înțeleg din asta în acest moment.

1 nov. 2012 17:55:07
Comentarii

+1 pentru comentariul despre guid, este un identificator, nu o ieșire.

Wyck Wyck
1 nov. 2012 18:50:27

Da, intenționam să schimb GUID-ul care includea WHERE post_type = 'attachment'. Mulțumesc, înțeleg problema cu feed-ul, dar încă nu știu de ce aș dori vechile URL-uri pe site-ul meu după o schimbare de domeniu sau cel puțin o schimbare de la mediul de dezvoltare local la site-ul live (știu că ar trebui să folosesc controlul versiunilor, dar asta mă încurcă groaznic).

stemie stemie
1 nov. 2012 18:54:26

Ele nu sunt URL-uri, nu chiar. Arată ca URL-uri, dar nu sunt. Orice șir global unic ar funcționa. URL-urile sunt utilizate pentru că este o metodă destul de fiabilă de a crea șiruri unice. Ar fi mai puțin confuz dacă ar fi hash-uite sau ceva similar, așa cum sugerează Codex-ul prin expresia "o reprezentare a url-ului".

s_ha_dum s_ha_dum
1 nov. 2012 19:14:58