Обновление URL медиафайлов в медиатеке WordPress

22 нояб. 2014 г., 13:57:26
Просмотры: 26.2K
Голосов: 5

В настоящее время мои видео размещены в установке WordPress. Я хочу переместить все видео на мой новый сервер.

Сейчас URL-адреса моих медиафайлов выглядят так: http://mysite.com/wp-content/uploads/video01.mp4

Я перемещаю все видео на мой центральный медиасервер, который будет иметь следующий новый URL: http://media.mysite.com/videos/video01.mp4

Мой сайт продолжит работать там, где он находится сейчас. Я перемещу только медиафайлы.

Я надеялся, что плагин Velvet Blues Update URLs справится с задачей, но он не находит URL-адреса для обновления на моем сайте.

Вероятно, это происходит потому, что я использую JW player на своем сайте, и JW player добавляет видео, используя только шорткод и ID в области записи.

[jwplayer mediaid="13441"]

В записи нет URL. Возможно, именно поэтому Velvet Blue не обнаруживает URL-адреса для обновления.

Учитывая это, есть ли способ обновить все URL-адреса медиафайлов в установке WordPress из медиатеки, как если бы они были добавлены как внешние URL?

Какие записи в базе данных содержат URL медиафайлов? Полагаю, моим последним средством будет выполнение поиска и замены в базе данных.

Буду признателен за любые предложения.

Спасибо

0
Все ответы на вопрос 4
0

есть ли способ обновить все URL медиафайлов в WordPress

У меня была похожая проблема с медиафайлами, у которых после обновления WordPress (почему-то все ссылки на медиа изменились на совершенно неверный путь) оказались неправильные пути к файлам. Я нашел плагин Upload URL and Path Enabler, который смог переписать все URL медиафайлов на другой путь, где на самом деле хранились все мои медиафайлы.

Надеюсь, это поможет и другим!

19 апр. 2016 г. 21:45:37
0

Я думаю, вы можете создать пользовательскую функцию для замены старого wp_attachment_url.

Предположим, у вас одинаковые имена файлов в новом URL медиафайлов, тогда вы можете добавить фильтр только для плагина JW Player, примерно так:

 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');
    }

Этот код можно добавить в ваш functions.php

Ссылки для справки:

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/

13 сент. 2017 г. 11:17:15
1

Используйте команду WP-CLI search-replace для поиска записей в базе данных со старым URL и их замены на новый. Также можно выполнить --dry-run, чтобы увидеть, сколько записей будет затронуто.

$ wp search-replace 'http://example.com/wp-content/uploads/' 'http://media.example.com/videos/' --dry-run
23 мар. 2020 г. 15:30:51
Комментарии

Я потратил много, много часов, пробуя эти "простые" решения с wp cli. Ни разу мне не удалось заставить команду wp сделать что-то, кроме вывода ошибок, которых я не понимал и не мог найти объяснений в интернете. Должно быть рабочее решение этой проблемы.

John Smith John Smith
31 дек. 2023 г. 04:34:45
4
-1

Предположим, что на вашем сайте ограниченное количество видео. Вы можете заменить URL, выполнив следующие действия:

Экспортируйте базу данных вашего сайта, замените URL и снова импортируйте. Это безопасный способ замены URL. Вы также можете сделать то же самое с помощью SQL-запроса, но иногда это может вызвать проблемы.

22 нояб. 2014 г. 14:18:15
Комментарии

К сожалению, у меня около 1000 видео. Ручное редактирование — не то, что я рассматриваю на данном этапе, если только нет возможности сделать это с помощью какого-нибудь метода поиска и замены.

Charles Wayne Charles Wayne
22 нояб. 2014 г. 14:24:29

Да, но поиск и замена могут повредить другие URL...

Helping Hands Helping Hands
22 нояб. 2014 г. 14:54:10

С моей точки зрения и учитывая специфику моего сайта, я могу смириться с тем, что изображения не отображаются, чем с тем, что видео не воспроизводятся. Пока видео загружаются нормально, я могу вручную исправлять другие URL, например, для изображений, постепенно со временем. Спасибо.

Charles Wayne Charles Wayne
22 нояб. 2014 г. 18:38:40

С помощью некоторых трюков в командной строке вы можете сгенерировать список всех mp4-файлов в папке wp-content/uploads, отфильтровать пути к папкам в текстовом редакторе с помощью поиска и замены, а затем передать результаты построчно в команду search replace WP CLI. Вам не нужно делать это вручную для каждого файла по отдельности.

Tom J Nowell Tom J Nowell
26 окт. 2015 г. 16:20:10