ไม่สามารถนำเข้าสื่อ


14

เมื่อฉันสร้างไฟล์ XML ด้วย [เครื่องมือ> ส่งออก] และใช้ [เครื่องมือ> นำเข้า] บนเว็บไซต์ WordPress อื่นฉันได้รับ "ล้มเหลวในการนำเข้าสื่อ" สำหรับแต่ละประเภทโพสต์สิ่งที่แนบมา และอิมเมจที่ไม่สามารถโหลดได้จะถูกเชื่อมโยงจากเซิร์ฟเวอร์ก่อนหน้าซึ่งใช้การถ่ายโอนของเซิร์ฟเวอร์ก่อนหน้านั้น ...

แต่เมื่อฉันดาวน์โหลด "การทดสอบหน่วย" จากhttp://codex.wordpress.org/Theme_Unit_Testปัญหานี้จะไม่มีอยู่ บางภาพยังคงมี "ล้มเหลวในการนำเข้าสื่อ" แต่เป็นเพียง 5 จาก 30 ภาพเท่านั้น พวกเขามี URL ไปยังเซิร์ฟเวอร์ของตัวเองใน XML แต่อย่างใด [เครื่องมือ> นำเข้า] จัดการเพื่อดาวน์โหลดสื่อของพวกเขาและแทนที่ URL เหล่านี้ด้วยตำแหน่งใหม่ (ไม่ได้เชื่อมโยงอีกต่อไป)

เคล็ดลับในการทำให้ทำงานอย่างถูกต้องโดยไม่มี "ล้มเหลวในการนำเข้าสื่อ" คืออะไร เหตุใดแม้แต่ "การทดสอบหน่วย" มีข้อความ "ล้มเหลวในการนำเข้าสื่อ" ไม่กี่รายการ


เนื่องจากเซิร์ฟเวอร์ที่คุณนำเข้าจำเป็นต้องรับไฟล์เหล่านั้นจากตำแหน่งเก่าคุณไม่ควรตรวจสอบว่าไฟล์อยู่ที่เซิร์ฟเวอร์เก่าเท่านั้นหรือไม่หากเซิร์ฟเวอร์ใหม่สามารถดึงข้อมูลได้ บางทีสิ่งที่ จำกัด การร้องขอขาออก คุณได้ลองนำเข้ามันบนเซิร์ฟเวอร์หรือโฮสต์อื่นหรือไม่? ฉันกลัวว่านี่จะเป็นปัญหาที่แปลเป็นภาษาท้องถิ่นมาก
Kraftner

1
ในฐานะของ WordPress 4.3.1 (อาจเป็นไปได้ก่อนหน้านี้) คุณสามารถกำหนดIMPORT_DEBUGและตั้งค่าtrueให้รับความคิดเห็นที่มีความหมายแทน "ล้มเหลวในการนำเข้าสื่อ" ฉันไม่สามารถจินตนาการได้ว่าทำไมสิ่งนี้จึงไม่ใช่พฤติกรรมเริ่มต้น นั่นอาจช่วยให้ปัญหาของคุณแคบลงหากสภาพอากาศเหมาะสม
ทำเครื่องหมาย

@ ทำเครื่องหมายให้ไฟล์ที่ฉันสามารถตั้งค่าIMPORT_DEBUGตัวเลือก
kimliv

2
@kimliv: คุณจะต้องการที่จะติดใน WP-config.php ที่รากของคุณ WordPress define ( 'IMPORT_DEBUG', true );ติดตั้ง:
Mark

ขออภัยที่พบปัญหามีปัญหาเดียวกันและเว็บไซต์เดิมที่ฉันนำเข้ามี SSL ไม่ทำงานและxmlURL เปิดอยู่httpsให้แก้ไขxmlไฟล์เพื่อสลับhttpsเพื่อhttpช่วย
ซามูเอล Elh

คำตอบ:


12

ฉันมีปัญหาที่คล้ายกันมากเมื่อฉันย้ายบล็อก WordPress จากการติดตั้ง WordPress เดียวไปยังการติดตั้ง Multisite ที่มีชื่อโดเมนต่างกัน แต่ IP เดียวกัน
ฉันพบว่าปัญหาคือwp_http_validate_urlฟังก์ชั่นที่ลดลง URL หาก IP ต้นทางเหมือนกันกับ IP ปลายทาง
คุณสามารถเพิ่มตัวกรองwp_http_validate_urlเพื่อป้องกันสิ่งนี้และอนุญาตการจับคู่แหล่งที่มาและ IP ปลายทาง:

add_filter( 'http_request_host_is_external', '__return_true' );

โปรดดูคำตอบนี้สำหรับคำอธิบายโดยละเอียดเกี่ยวกับตัวกรองเบ็ดและสาเหตุที่คุณควรลบออกหลังจากนำเข้า: /wordpress//a/123313/75573


ฉันใช้เวลาเกือบ 5 ชั่วโมงในการพยายามนำเข้าโพสต์ด้วยภาพของพวกเขาและสิ่งนี้ก็แก้ไขได้
Jonny

ฉันไม่แน่ใจว่าฉันเข้าใจว่าการแก้ไขนี้ต้องไปที่ไหน บางคนสามารถอธิบายเพิ่มเติมได้ไหม
ClairelyClaire

คุณสามารถวางลงใน functions.php หรือวางไว้ในปลั๊กอิน ภายหลังทำให้ง่ายต่อการเปิดและปิดได้ตามต้องการ
Merl

1

เมื่อคุณสร้างไฟล์เอ็กซ์พอร์ตของคุณไฟล์นั้นอยู่บนเซิร์ฟเวอร์ที่ใช้งานจริงหรือโลคัลโฮสต์ หน้าเว็บนั้นยังเข้าถึงได้หรือไม่? หากการนำเข้าสื่อล้มเหลวนั่นหมายถึงรูปภาพที่เชื่อมโยงจาก XML กำลังแสดง 404

เปิดไฟล์ XML และดูว่าภาพกำลังชี้ไปที่ใด หากเราเปิดไฟล์ Theme Unit XML เราจะเห็นบรรทัดดังนี้:

<wp:attachment_url>http://wpthemetestdata.files.wordpress.com/2008/06/canola2.jpg</wp:attachment_url>

ไฟล์นั้นมีความชัดเจนในการนำเข้า ไฟล์ Attach_url ของคุณพูดว่าอะไร


1
ฉันพูดถึง "และรูปภาพที่ไม่สามารถโหลดได้จะถูกเชื่อมโยงจากเซิร์ฟเวอร์ก่อนหน้าซึ่งใช้การถ่ายโอนเซิร์ฟเวอร์ก่อนหน้านี้ ... " ซึ่งระบุว่ารูปภาพไม่ส่งคืน 404 พวกเขาไม่ได้อยู่บนโลคัลโฮสต์ แต่พวกเขาก็ยังสร้าง "ล้มเหลวในการนำเข้าสื่อ " ฉัน<wp:attachment_url>พูดว่าexample.com/2008/06/image.jpgเกินไปที่ example.com อยู่เสมอโดเมนที่สามารถเข้าถึงได้ นั่นเป็นเหตุผลที่ฉันถามคำถามนี้ :) มันใช้งานไม่ได้แม้ว่าภาพจะไม่สร้าง 404 แต่มันก็ใช้งานไม่ได้กับwpthemetestdata.files.wordpress.comเป็นครั้งคราว (~ 5 ภาพจาก 30 ภาพล้มเหลว)
พอล

ถูกต้องขออภัยใจของฉันค่อนข้างเหนื่อยหน่ายตอนนี้ในตอนกลางคืน คุณมีการป้องกันฮอตลิงก์บนเซิร์ฟเวอร์หรือไม่?
ความคิดที่จำเป็น

1
ไม่มันเป็นเซิร์ฟเวอร์ที่สาธารณชนสามารถเข้าถึงได้ด้วยรูปภาพที่สาธารณชนสามารถเข้าถึงได้ไม่มีการป้องกันใด ๆ แต่แม้ว่าจะมีการป้องกันบางอย่างเซิร์ฟเวอร์ของ WordPress ก็ทำสิ่งเดียวกันในบางครั้ง หมายความว่าผู้นำเข้ารายนี้เป็นรถม้าชนิดเดียวหรือไม่
พอล

เซิร์ฟเวอร์นั้นหรือหนึ่งในนั้นมีค่าการหมดเวลาสั้น ๆ อย่างน่าสะพรึงกลัว ฉันสดจากความคิดสำหรับคุณ XML นำเข้าสู่ Localhost อย่างถูกต้องหรือไม่ หากเป็นเช่นนั้นคุณสามารถเรียงลำดับของการโกง ... ทำการอิมพอร์ตแบบโลคัลจากนั้นใช้ WP Migrate DB และโคลนผลลัพธ์เพื่อให้มีชีวิต
ไอเดียที่จำเป็น

1

ฉันดิ้นรนกับการนำเข้าสื่อไปยัง wordpress.org จาก wordpress.com เช่นกัน ฉันจัดการเพื่อนำเข้าโพสต์ทั้งหมด แต่ภาพยังคงเชื่อมโยงกับเว็บไซต์เก่า ฉันเกือบร้องไห้เพราะตระหนักว่าทางออกเดียวคือการดาวน์โหลดและอัปโหลดโพสต์ภาพขนาดใหญ่กว่า 200 ภาพโดยโพสต์ (การส่งออก / นำเข้าส่วนเล็ก ๆ ของโพสต์ไม่ทำงาน)

หลังจากทดสอบปลั๊กอินบางอย่างฉันพบปลั๊กอินที่นำเข้าสื่อ wordpress ของคุณโดยอัตโนมัติ ฉันไม่อยากจะเชื่อ แต่มันใช้งานได้จริง คุณต้องโพสต์ทางไปรษณีย์ แต่ก็ยังดีกว่าการดาวน์โหลดและอัพโหลดด้วยตนเอง นี่คือลิงค์หากใครสนใจ


1

ตรวจสอบให้แน่ใจว่าเว็บไซต์ของคุณไม่ได้ตั้งค่าเป็น "ส่วนตัว"

เมื่อคุณส่งออกบล็อก Wordpress ของคุณเนื้อหาที่เป็นข้อความทั้งหมดจะถูกฝังอยู่ในไฟล์ XML ผลลัพธ์ เนื้อหาไบนารีทั้งหมด (รูปภาพ, ไฟล์แนบ ฯลฯ ) จะถูกส่งออกเป็น URL ที่ชี้ไปยังตำแหน่งของพวกเขาในบล็อกที่มีอยู่ นี่คือเหตุผลที่เมื่อคุณนำเข้าจากบล็อก Wordpress ส่วนตัวคุณจะยังสามารถนำเข้าการโพสต์ / etc ทั้งหมด แต่ภาพ / etc ทั้งหมดจะล้มเหลว

ที่นี่คุณจำเป็นต้องเปลี่ยนการตั้งค่าเป็นเวอร์ชั่น (2017-06-19):

ป้อนคำอธิบายรูปภาพที่นี่

เอกสาร Wordpress ที่เกี่ยวข้อง:

https://en.support.wordpress.com/settings/privacy-settings/

โปรดทราบว่าจะต้องทำจากการตั้งค่าบัญชี Wordpress.com ของคุณไม่ใช่จากการตั้งค่าของบล็อกซึ่งเป็นอีกจุดที่อาจเกิดความสับสน (และความยุ่งยาก)


1

ปัญหานี้อาจเกิดขึ้นเมื่อใช้ปลั๊กอินบางอย่างบนไซต์ระยะไกล / ท้องถิ่น

เป็นการปิดการใช้งานปลั๊กอินทั้งหมดในทั้งสองไซต์ก่อนที่จะส่งออกหรือนำเข้าจากนั้นเปิดใช้งานอีกครั้งหลังจากกระบวนการเสร็จสมบูรณ์

หากคุณพยายามหลีกเลี่ยงการปิดใช้งานปลั๊กอินทั้งหมดอย่างน้อยก็ยกเลิกการใช้งานปลั๊กอินใด ๆ ที่ส่งผลกระทบต่อรูปภาพหรือการจัดการรูปภาพ ... ประเภทที่พบบ่อยที่สุดน่าจะเป็นปลั๊กอินที่เพิ่มประสิทธิภาพของรูปภาพ

ในกรณีของฉันฉันมีเครื่องมือเพิ่มประสิทธิภาพภาพ EWWW (ซึ่งฉันขอแนะนำอย่างยิ่ง) ให้เปิดใช้งานในไซต์ท้องถิ่นและทำให้เกิดข้อผิดพลาดนี้ ฉันปิดใช้งานเรียกใช้การนำเข้าสำเร็จแล้วเปิดใช้งานอีกครั้ง


0

ฉันมีปัญหาเดียวกันและหลังจากชั่วโมงของการค้นหาและทดสอบปัญหาคือเซิร์ฟเวอร์ต้นทางบล็อกการดาวน์โหลดรูปภาพเนื่องจาก "การป้องกัน Hotlink" กำลังทำงานอยู่ใน cPanel


คุณถูก. ในกรณีของฉันฉันรู้ว่าฉันใช้การป้องกัน hotlink ใน. htaccess ของฉัน กรณีอื่น ๆ คือ cPanel หรือ Cloudflare
จอห์นโด

0

สำหรับผู้ที่ไม่ต้องการใช้ add_filterหรือไม่มีความคิดในการรวมเข้าด้วยกันโดยไม่ต้องสร้างโมดูลแยกต่างหาก นี่คือเคล็ดลับที่มีประโยชน์อย่างรวดเร็วเพื่อให้ทำ

เปิดไฟล์นี้

vim ./wp-includes/http.php

ไปที่บรรทัด566และแสดงความคิดเห็นบล็อกรหัสต่อไปนี้

if ( ! apply_filters( 'http_request_host_is_external', false, $host, $url ) )
  return false;

เมื่อคุณใส่ความคิดเห็นสองบรรทัดออกไปแล้วเพิ่มบรรทัดต่อไปนี้

return true;

ไปข้างหน้าและบันทึกไฟล์และอัปโหลดไฟล์ XML เพื่อลองอีกครั้ง ตอนนี้คุณจะดาวน์โหลดเนื้อหาทั้งหมดที่เกี่ยวข้อง ย้อนกลับไปลบบล็อกความคิดเห็นและคำสั่งการส่งคืนและคุณพร้อมที่จะไป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.