Come modificare gli URL delle immagini in evidenza nel database di WordPress

1 nov 2012, 16:20:57
Visualizzazioni: 16.3K
Voti: 1

Sto memorizzando le mie immagini su un altro server e sono riuscito a cambiare gli URL nel database, ma non riesco a modificare gli URL delle immagini in evidenza?

Non aggiungerò altre immagini, quindi voglio solo cambiare l'URL per tutte le immagini esistenti.

Questo è il codice SQL che ho usato per le immagini normali:

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

e

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

Tutte le altre immagini funzionano correttamente tranne le immagini in evidenza.

0
Tutte le risposte alla domanda 1
3

L'immagine in evidenza è memorizzata nella tabella *_postmeta sotto la chiave _thumbnail_id. Infatti, è probabile che tu abbia molti URL di immagini/media in quella tabella che non hai modificato. Il problema è che diverse informazioni sono memorizzate in array serializzati e modificarle con SQL come sopra probabilmente romperà quegli array. Suggerirei di utilizzare qualcosa come Velvet Blues Update Urls.

Sembra che tu abbia cambiato tutti i tuoi URL e non solo gli URL di immagini/media. È quello che intendevi fare?

Inoltre, non dovresti mai modificare il guid.

NOTA e MODIFICA: Ho appena notato un'eccezione per i media allegati nel Codex di WordPress. Non ricordo di averlo mai visto prima e non sono sicuro di cosa si tratti e al momento non so bene cosa farne.

1 nov 2012 17:55:07
Commenti

+1 per il commento sul GUID, è un identificatore, non un output.

Wyck Wyck
1 nov 2012 18:50:27

Sì, intendevo modificare il GUID che includeva WHERE post_type = 'attachment'. Grazie, capisco il problema del feed ma ancora non capisco bene perché vorrei vecchi URL sul mio sito dopo un cambio di dominio o almeno un passaggio da sviluppo locale a sito live (so che dovrei usare il controllo versione ma mi confonde tantissimo).

stemie stemie
1 nov 2012 18:54:26

Non sono veramente URL. Sembrano URL ma non lo sono. Qualsiasi stringa univoca globale andrebbe bene. Gli URL vengono utilizzati perché sono un modo abbastanza affidabile per creare stringhe univoche. Sarebbe meno confusionario se fosse hashato, o qualcosa di simile, come accennato nel Codex dalla frase "qualche rappresentazione dell'url".

s_ha_dum s_ha_dum
1 nov 2012 19:14:58