2017-01-19 28 views
5

Niedawno zainstalowałem wtyczkę, która teraz przesyła moje obrazy z biblioteki multimediów do s3.Zmień adres URL strony z WordPress [Galeria] Shortcode

Mam również FTP's cały folder uploads do s3, który obejmuje około 4000 zdjęć.

Użyłem w całej mojej witrynie shortcode galerii wordpress jednak gdzieś i jakoś to wyprowadza siteurl.

Jak to zmienić, aby zmienić URL, tak aby był tym z mojego wiadra S3?

muszę przyznać, nie mam pojęcia, co robię tutaj lub gdzie zacząć i naprawdę będą wdzięczni za pomoc :)

+0

Czy możesz zaktualizować za pomocą zainstalowanej wtyczki? Myślę, że jest wielu, którzy wykonują to zadanie. Niektóre wtyczki nie obsługują plików, gdy są bezpośrednio przesyłane do S3. –

Odpowiedz

1

może chcesz zrobić wyszukiwania & zastąpić poprzez bazę danych.

Widać tutaj jak zrobić zapytanie SQL, aby zmienić ścieżkę obrazu na stanowiskach: 13 Useful WordPress Queries

UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://www.oldsiteurl.com', 'src="http://yourcdn.newsiteurl.com'); 
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://yourcdn.newsiteurl.com') WHERE post_type = 'attachment'; 
+0

Już to rozważyłem. Jednak adres URL używany do skrótu galerii jest taki sam jak adres URL witryny. Gdybym to zmienił, obrazy by działały, ale wtedy strona pękłaby. Złap 22 – JamesG

2

można filtrować obrazy src wyjście atrybut i zastąpić stary adres z nowym adresem URL obserwacji. skopiuj poniższy kod do motywu functions.php i zamień www.oldurl.com i www.newurl.com z własnymi adresami URL.

add_filter('wp_get_attachment_image_src', function ($image) { 
    if(is_array($image)){ 
     $image[0] = str_replace('www.oldurl.com', 'www.newurl.com', $image[0]); 
    } 

    return $image; 
}, 999); 
2

Patrząc w wp_get_upload_dir(), to wrapper dla wp_upload_dir(), że to znowu wrapper dla _wp_upload_dir(), widzimy, że adres URL przesyłania można modyfikować za pomocą opcji upload_url_path.

Ponieważ przenosisz wszystkie przesłane pliki do S3, możesz spróbować dodać swój bazowy adres URL kubka S3 do opcji upload_url_path.

Powinieneś najpierw sprawdzić to na swojej instalacji dev, aby sprawdzić, jak to działa z twoją obecną konfiguracją.

Powiązane problemy