Когда я генерирую XML-файл с помощью [Инструменты> Экспорт] и использую [Инструменты> Импорт] на другом веб-сайте WordPress, я получаю сообщение «Не удалось импортировать медиа» для каждого типа сообщения вложения. И образы, которые не удалось загрузить, имеют горячую ссылку с предыдущего сервера, который использует передачу этого предыдущего сервера ...
Но когда я загружаю "Unit Test" с http://codex.wordpress.org/Theme_Unit_Test, тогда этой проблемы не существует. Некоторые изображения все еще имеют «Не удалось импортировать медиа», но это всего лишь 5 из 30 изображений. У них есть URL-адреса к их собственному серверу в их XML, но каким-то образом [Инструменты> Импорт] удается загрузить их медиа и заменить эти URL-адреса новыми местоположениями (это больше не является горячей ссылкой).
В чем прикол, чтобы он работал правильно без «Не удалось импортировать медиа»? Почему даже в «модульном тесте» есть несколько сообщений «Не удалось импортировать медиа»?
IMPORT_DEBUG
и установить егоtrue
для получения значимой обратной связи, а не просто «Не удалось импортировать медиа». Я не могу себе представить, почему это не поведение по умолчанию. Это может помочь сузить вашу проблему, если погода будет подходящей.IMPORT_DEBUG
опциюdefine ( 'IMPORT_DEBUG', true );
.xml
URL - адреса находятся наhttps
, редактируяxml
файлы для переключенияhttps
наhttp
помощь.Ответы:
У меня была очень похожая проблема, когда я переместил блог WordPress из одной установки WordPress в установку Multisite с разными доменными именами, но с одинаковым IP.
Я обнаружил, что проблема заключается в
wp_http_validate_url
функции, которая сбрасывает URL-адрес, если IP-адрес источника совпадает с IP-адресом назначения.Вы можете добавить фильтр,
wp_http_validate_url
чтобы предотвратить это и разрешить сопоставление IP-адресов источника и назначения:Пожалуйста, посмотрите этот ответ для подробного объяснения ловушки фильтра и почему вы должны удалить его после импорта: /wordpress//a/123313/75573
источник
Когда вы генерировали файл экспорта, он был на живом сервере или на локальном хосте? Эта веб-страница все еще доступна? Если импорт мультимедиа завершается неудачно, это означает, что изображения, связанные с XML, появляются 404.
Откройте файл XML и посмотрите, куда указывают изображения. Если мы откроем XML-файл Theme Unit, мы увидим такие строки:
Этот файл очень четко доступен для импорта. Что говорят ваши файлы attachment_url?
источник
<wp:attachment_url>
говорит example.com/2008/06/image.jpg, где example.com - это всегда доступный домен. Вот почему я задаю этот вопрос :) Он явно не работает, даже если изображения не генерируют 404. Он даже иногда не работает с wpthemetestdata.files.wordpress.com (~ 5 случайных изображений из 30 не работают ).Я также боролся с импортом медиа в wordpress.org с wordpress.com. Мне удалось импортировать все сообщения, однако изображения все еще были связаны со старым сайтом. Я чуть не заплакал, поскольку понял, что единственным решением было вручную загрузить и выгрузить более 200 больших изображений по почте (экспорт / импорт меньших частей сообщений тоже не работал).
После тестирования некоторых плагинов я нашел один, который автоматически импортирует ваши WordPress медиа. Я не мог поверить, но на самом деле это работает. Вы должны отправлять сообщения по почте, но это все же лучше, чем загрузка и выгрузка вручную. Вот ссылка, если кому-то интересно
источник
Убедитесь, что для вашего сайта не установлено значение «Приватный».
Когда вы экспортируете свой блог Wordpress, весь текстовый контент внедряется в полученный XML-файл. Весь двоичный контент (изображения, вложения файлов и т. Д.) Экспортируется в виде URL-адресов, указывающих на их местоположение в существующем блоге. Вот почему, когда вы импортируете из частного блога Wordpress, вы все равно сможете импортировать все записи / etc, но все изображения / etc потерпят неудачу.
Вот где вам нужно изменить настройки для текущей версии (2017-06-19):
Соответствующая документация Wordpress:
Обратите внимание, что это должно быть сделано из настроек вашей учетной записи Wordpress.com, а не из настроек самого блога, что является еще одной потенциальной точкой путаницы (и разочарования).
источник
Эта проблема может возникнуть при использовании определенных плагинов на удаленном / локальном сайте.
В идеале отключите все плагины на обоих сайтах перед экспортом или импортом, а затем повторно включите их после завершения процесса.
Если вы пытаетесь избежать отключения ВСЕХ плагинов, то по крайней мере отключите все плагины, которые влияют на изображения или обработку изображений ... наиболее распространенным типом, вероятно, будут те, которые выполняют оптимизацию изображений.
В моем случае на локальном сайте был активирован EWWW Image Optimizer (который я настоятельно рекомендую), и это вызвало эту ошибку. Я отключил его, успешно запустил импорт и снова активировал его.
источник
У меня была та же проблема, и после нескольких часов поиска и тестирования проблема заключалась в том, что исходный сервер блокировал загрузку изображений из-за того, что в cPanel была активна «Защита от хотлинков».
источник
Для тех, кто не хочет использовать
add_filter
или понятия не имеет, как его интегрировать, не создавая отдельный модуль. Вот быстрый удобный трюк, чтобы сделать это.Откройте этот файл
Перейти к строке
566
и закомментировать следующий блок кода.Как только вы прокомментируете эти две строки, войдите и добавьте следующую строку.
Сохраните файл и загрузите XML-файл, чтобы повторить попытку. Теперь вы загрузите весь связанный контент. Вернитесь назад, удалите блок комментариев и оператор возврата, и все готово.
источник