Kiedy generuję plik XML za pomocą [Narzędzia> Eksportuj] i używam [Narzędzia> Importuj] na innej stronie WordPress, pojawia się komunikat „Nie można zaimportować multimediów” dla każdego typu postu załącznika. A obrazy, których nie udało się załadować, są odsyłane do hotlink z poprzedniego serwera, który zużywa transfer tego poprzedniego serwera ...
Ale kiedy pobieram „Test jednostkowy” ze strony http://codex.wordpress.org/Theme_Unit_Test, ten problem nie istnieje. Niektóre obrazy nadal mają komunikat „Nie udało się zaimportować multimediów”, ale jest to tylko 5 z 30 obrazów. Mają adresy URL do własnego serwera w pliku XML, ale w jakiś sposób [Narzędzia> Importuj] udaje im się pobrać swoje media i zastąpić te adresy URL nowymi lokalizacjami (nie jest to już link gorący).
Jaka jest sztuczka, aby działała poprawnie bez „Nie udało się zaimportować mediów”? Dlaczego nawet „Test jednostkowy” ma kilka komunikatów „Nie udało się zaimportować mediów”?
IMPORT_DEBUG
i ustawić,true
aby otrzymywać znaczące informacje zwrotne zamiast po prostu „Nie udało się zaimportować multimediów”. Nie mogę sobie wyobrazić, dlaczego nie jest to zachowanie domyślne. To może pomóc zawęzić problem, jeśli pogoda jest odpowiednia.IMPORT_DEBUG
opcjędefine ( 'IMPORT_DEBUG', true );
.xml
adresy URL są włączonehttps
, edytujęxml
pliki, aby przełączyćhttps
nahttp
pomoc.Odpowiedzi:
Miałem bardzo podobny problem, kiedy przeniosłem Blog WordPress z pojedynczej instalacji WordPress do instalacji na wielu stronach z różnymi nazwami domen, ale tym samym adresem IP.
Dowiedziałem się, że problemem jest
wp_http_validate_url
funkcja, która upuszcza adres URL, jeśli źródłowy adres IP jest taki sam jak docelowy adres IP.Możesz dodać filtr,
wp_http_validate_url
aby temu zapobiec i umożliwić dopasowanie źródłowego i docelowego adresu IP:Proszę zobaczyć tę odpowiedź, aby uzyskać szczegółowe wyjaśnienie haka filtra i dlaczego należy go usunąć po imporcie: /wordpress//a/123313/75573
źródło
Czy podczas generowania pliku eksportu był on na serwerze na żywo, czy na hoście lokalnym? Czy ta strona internetowa jest nadal dostępna? Jeśli import multimediów nie powiedzie się, oznacza to, że obrazy, jako połączone z XML, zbliżają się do 404.
Otwórz plik XML i zobacz, gdzie wskazują obrazy. Jeśli otworzymy plik XML jednostki motywu, zobaczymy takie wiersze:
Ten plik jest bardzo wyraźnie dostępny do importu. Co mówią twoje pliki attach_url?
źródło
<wp:attachment_url>
mówi example.com/2008/06/image.jpg zbyt gdzie example.com jest zawsze dostępne domeny. Dlatego zadaję to pytanie :) Najwyraźniej nie działa, nawet jeśli obrazy nie generują 404. Czasami nawet nie działa z wpthemetestdata.files.wordpress.com (~ 5 losowych obrazów na 30 nie działa ).Mam również problemy z importowaniem mediów do wordpress.org z wordpress.com. Udało mi się zaimportować wszystkie posty, jednak zdjęcia nadal były powiązane ze starą witryną. Prawie płakałem, ponieważ zdałem sobie sprawę, że jedynym rozwiązaniem było ręczne pobranie i przesłanie pocztą ponad 200 dużych zdjęć (eksportowanie / importowanie mniejszych części postów również nie działało).
Po przetestowaniu niektórych wtyczek znalazłem taki, który automatycznie importuje twoje media wordpress. Nie mogłem uwierzyć, ale to naprawdę działa. Musisz wysłać post pocztą, ale nadal jest to lepsze niż ręczne pobieranie i przesyłanie. Oto link, jeśli ktoś jest zainteresowany
źródło
Upewnij się, że Twoja witryna nie jest ustawiona na „Prywatna”.
Podczas eksportowania bloga Wordpress cała treść tekstowa jest osadzana w wynikowym pliku XML. Wszystkie treści binarne (zdjęcia, załączniki plików itp.) Są eksportowane jako adresy URL wskazujące ich lokalizację na istniejącym blogu. Dlatego podczas importowania z prywatnego bloga Wordpress nadal będziesz mógł importować wszystkie posty / etc, ale wszystkie obrazy / etc nie powiodą się.
Oto, gdzie musisz zmienić ustawienie od wersji bieżącej (2017-06-19):
Odpowiednia dokumentacja Wordpress:
Pamiętaj, że należy to zrobić z ustawień konta Wordpress.com, a nie z ustawień samego bloga, co jest kolejnym potencjalnym punktem zamieszania (i frustracji).
źródło
Ten problem może wystąpić podczas korzystania z niektórych wtyczek w zdalnej / lokalnej witrynie.
Najlepiej wyłączyć wszystkie wtyczki w obu witrynach przed eksportem lub importem, a następnie ponownie je aktywować po zakończeniu procesu.
Jeśli próbujesz uniknąć wyłączenia WSZYSTKICH wtyczek, to przynajmniej dezaktywuj wszystkie wtyczki, które wpływają na obrazy lub obsługę obrazów ... najpowszechniejszym typem prawdopodobnie byłyby te, które wykonują optymalizację obrazu.
W moim przypadku miałem lokalny Optymalizator obrazu EWWW (który bardzo polecam), co spowodowało ten błąd. Wyłączyłem go, pomyślnie uruchomiłem import i reaktywowałem.
źródło
Miałem ten sam problem i po wielu godzinach wyszukiwania i testowania problem polegał na tym, że serwer źródłowy blokował pobieranie obrazów z powodu aktywnej ochrony Hotlink w cPanel.
źródło
Dla tych, którzy nie chcą używać
add_filter
lub nie mają pojęcia, jak go zintegrować bez tworzenia osobnego modułu. Oto krótka przydatna sztuczka, aby to zrobić.Otwórz ten plik
Przejdź do wiersza
566
i skomentuj następujący blok kodu.Po skomentowaniu tych dwóch wierszy, wejdź i dodaj następujący wiersz.
Śmiało, zapisz plik i prześlij plik XML, aby spróbować ponownie. Teraz pobierzesz całą powiązaną zawartość. Wróć, usuń blok komentarza i instrukcję return i możesz zacząć.
źródło