2017-01-19 4 views
5

Недавно я установил плагин ta, который теперь загружает мои изображения из медиа-библиотеки в s3.Изменить url URL-адрес WordPress [Галерея] Shortcode

У меня также есть FTP вся папка загрузок на s3, которая охватывает около 4000 изображений.

Я использовал на своем сайте короткометражный пакет wordpress, но где-то и как-то он выводит сайт.

Как это изменить, чтобы я мог переопределить URL-адрес, чтобы он был одним из моего ведра S3?

Я признаю, что я понятия не имею, что я делаю здесь, или с чего начать, и я действительно ценю вашу помощь :)

+0

Можете ли вы уточнить, с каким плагином вы установили? Я думаю, что для решения этой задачи есть много. Некоторые плагины не поддерживают файлы при прямом загрузке на S3. –

ответ

1

Вы могли бы хотеть, чтобы сделать поиск & заменить через базу данных.

Здесь можно увидеть, как сделать SQL запрос, чтобы изменить путь изображения в постах: 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

Уже считается этим. Однако URL-адрес, используемый для короткого кода галереи, является той же ссылкой, что и для URL-адреса сайта. Итак, если бы я изменил его, изображения будут работать, но тогда сайт сломается. Словить 22 – JamesG

2

Вы можете фильтровать изображения ЦСИ вывода атрибутов и заменить старый URL с новым URL, как следовать. скопируйте ниже код в свою тему functions.php и замените www.oldurl.com и www.newurl.com своими собственными 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

Глядя в wp_get_upload_dir(), это обертка для wp_upload_dir(), что опять обертка для _wp_upload_dir(), мы видим, что URL загрузки может быть изменен с помощью опции upload_url_path.

Поскольку вы перемещаете все свои загрузки на S3, вы можете попробовать добавить свой базовый url S3 в upload_url_path.

Вы должны протестировать это в первую очередь на своей установке dev, просто чтобы увидеть, как она работает с вашей текущей настройкой.

Смежные вопросы