Aggiornare l'URL dei file multimediali nella libreria multimediale di WordPress
Attualmente i miei video sono ospitati all'interno della mia installazione WordPress. Voglio spostare tutti i video sul mio nuovo server.
Attualmente, i miei URL multimediali sono i seguenti http://mysite.com/wp-content/uploads/video01.mp4
Sto spostando tutti i video sul mio server multimediale centrale che avrà questo nuovo URL http://media.mysite.com/videos/video01.mp4
Il mio sito continuerà ad essere ospitato dove si trova ora. Sposterò solo i file multimediali.
Speravo che Velvet Blues Update URLs fosse adatto al lavoro ma non trova alcun URL da aggiornare sul mio sito web.
Probabilmente perché sto usando JW player sul mio sito e JW player pubblica i video usando solo shortcode e ID nell'area del post.
[jwplayer mediaid="13441"]
Nessun URL nel post. Forse questo è il motivo per cui Velvet Blue non sta rilevando gli URL da aggiornare.
Detto questo, c'è un modo per aggiornare tutti gli URL dei media nell'installazione WordPress dalla libreria multimediale come se fossero stati aggiunti come URL esterni?
Quali voci del database contengono l'URL dei media? Immagino che la mia ultima risorsa sarà eseguire trova e sostituisci sul mio database.
Qualsiasi suggerimento sarà molto apprezzato.
Grazie

Esiste un modo per aggiornare tutti gli URL dei media in WordPress?
Ho avuto un problema simile con i miei file multimediali che non avevano la posizione corretta dopo un aggiornamento di WordPress (in qualche modo tutti i link dei media sono passati a una directory assolutamente errata), quindi ho trovato Upload URL and Path Enabler che è stato in grado di riscrivere tutti gli URL dei media in un percorso diverso dove tutti i miei media erano effettivamente archiviati.
Spero che possa aiutare anche qualcun altro!

Penso che tu possa creare una funzione personalizzata per sostituire il tuo vecchio wp_attachment_url.
Supponendo che tu abbia lo stesso nome del file nel tuo nuovo URL dei media, puoi aggiungere un filtro solo per i plugin di jw player, qualcosa come questo:
if ( has_shortcode( get_the_content(), 'jw_player' ) ) {
function mynewmediaurl($wp_get_attachment_url){
$newmediadir = 'http://yourdomain/video/';
$filename = basename($wp_get_attachment_url );
$newurl = $newmediadir.$filename;
return $newurl;
}
add_filter('wp_get_attachment_url', 'mynewmediaurl');
}
Puoi aggiungerlo nel tuo functions.php
Riferimenti:
https://codex.wordpress.org/Function_Reference/has_shortcode
https://developer.wordpress.org/reference/functions/wp_get_attachment_url/
https://codex.wordpress.org/Plugin_API/Filter_Reference/wp_get_attachment_url
https://developer.wordpress.org/reference/functions/get_attached_file/

Utilizza il comando search-replace
di WP-CLI per individuare le voci del database con il vecchio URL e sostituirle con quello nuovo. Puoi anche eseguire un --dry-run
per vedere quante voci verranno modificate.
$ wp search-replace 'http://example.com/wp-content/uploads/' 'http://media.example.com/videos/' --dry-run

Ho sprecato molte, molte ore provando queste "soluzioni" wp cli "semplici". Non sono mai riuscito a far funzionare il comando wp
per fare altro se non generare errori che non capivo e che non riuscivo a trovare spiegati da nessuna parte online. Ci deve essere una soluzione funzionante a questo problema.

Supponendo che ci siano pochi video nel tuo sito. Puoi sostituire l'URL facendo quanto segue:
Esporta il database del tuo sito, sostituisci l'URL e importalo nuovamente. Questo è il metodo più sicuro per sostituire un URL. Puoi fare la stessa cosa anche utilizzando una query SQL, ma a volte potrebbe causare problemi.

purtroppo ci sono circa 1000 video. modificare manualmente non è qualcosa che sto considerando in questo momento a meno che non ci sia la possibilità di farlo utilizzando qualche tipo di metodo trova e sostituisci

dal mio punto di vista e dalla natura del mio sito, posso accettare che le immagini non vengano visualizzate piuttosto che i video non vengano riprodotti. Finché i video si caricano correttamente, posso cercare manualmente gli altri URL come le immagini per correggerli manualmente col tempo. grazie

Con qualche trucco da riga di comando, puoi generare un elenco di tutti i file mp4 nella tua cartella wp-content/uploads, filtrare il percorso della cartella in un editor di testo utilizzando cerca e sostituisci, quindi passare i risultati riga per riga al comando search replace di WP CLI. Non devi fare ogni operazione manualmente una per una
