Relative URL za Media datoteke u bazi

Pozdrav.

Imamo jedan problem, a radi se o sljedecem.

Na koji nacin se moze namjestiti da kada se uploada neka medijska datoteka (uglavnom slika), ona u bazi bude spremljena sa relativnim url-om ili da se doda u krajnjem slucaju ispred relative URL-a env('WP_HOME') ?

Na stagingu imamo problem, jer nam je u bazi zapisano localhost:8080 i onda imamo masu 404 errora.Lokalno sve radi u fullu.

Hvala.

Zasto ne napravite url replace pri migraciji sa localhosta na staging/production? Vjerojatno najjednostavnije putem WP CLI-a.

To bi bilo ok, da imamo razlicite baze.

Ista baza se koristi za lokalni development, staging i produkciju :confused:

Znam, zato sam to i napisao.

Evo npr sa ovim bi to mogli obaviti: https://deliciousbrains.com/wp-migrate-db-pro/doc/wp-cli-command/

1 Like

Hvala, ali lead dev ce to srediti. :smile:

Kaze da ima neku ideju sa WP-CLI + Bash, pa cemo da vidimo.

Hvala u svakom slucaju.

Normalan nacin za hendlanje toga je da u bazi ne stoji full path, nego relative path u odnosu na root projekta, a na frontendu se nalijepi domena, i eventualno dodatni path ispred ako je potreban.
Umjesto replacea pobrisite taj dio ispred patha do image foldera iz baze.

1 Like

Treba napraviti to što leffe kaže. Primjeti sve benefite toga. Ako seliš recimo projekt na novu domenu ili kombiniraš projekt na više različitih domena, dovoljno je da samo sa jednom varijablom pratiš koji je trenutni root projekta i sve mora svugdje raditi.

Kombinacija localhosta i online, je samo jedan od primjera gdje direktno imaš benefit da će ti ista baza raditi na obje strane.

Vjerovatno je najveća muka kad se seli prijekt sa lokalnog na online, pa se razmišlja što će sve puknuti nakon te migracije. Pa kad se to sve izprilagođava, onda je problem projekt dalje testirati lokalno za nove nadogradnje itd…

Zato podaci koji su varijabilni (kao što je root projekta unutar linka) …nikad nigdje nebi smjeli biti zapisani u “čvrstom” obliku. Oni moraju biti leteći…da se postavljaju u situacijama kad zatrebaju.

Napraviš si funkciju tipa “baseLink(relativeLink)” koja će kao ulazni parametar primiti relativniLink i kao izlaz dati apsolutni link.
I onda sa PHP-om kada generiraš linkove, samo ih provučeš kroz tu funkciju. Isto tako za clientside možeš imati JS inačicu te funkcije, koja će prilagoditi link po potrebi.