Download failed. A valid URL was not provided คือปัญหาสำหรับผู้ที่สร้างเว็บไซต์บนโปรแกรม WordPress นี้ และมันจะเกิดขึ้นก็ต่อเมื่อ WordPress ต้องมาอัปเดตระบบใหม่ ปัญหานี้ส่งผลต่อผู้ใช้อย่างมากทั้งในเรื่องการขออัปเดต Plugin ต่าง ๆ อัปเดต Theme หรือแม้กระทั่งส่งผลต่อการเขียน Blog
ก่อนจะเริ่มอ่านบทความนี้ ขอเกริ่นก่อนว่าส่วนตัวผู้เขียนไม่ใช่ผู้ที่มีความรู้เกี่ยวกับการเขียนโค้ด หรือทักษะเกี่ยวกับ WordPress หรือทักษะระดับสูงเกี่ยวกับภาษาคอมพิวเตอร์มากนัก เพียงแต่ว่าผู้เขียนได้พบกับปัญหา และหาทางแก้ เมื่อสามารถแก้ไขได้แล้วขึ้นต้องการนำมาแชร์เพื่อให้ทุกคนสามารถแก้ไขได้ไปพร้อมกัน
” Download failed. A valid URL was not provided “
“WordPress update has failed to complete”
ภาษาอังกฤษประโยคนี้คือปัญหาที่เกิดขึ้นหลังจากที่ต้องการอัปเดตเวอร์ชั่นของ WordPress จาก 5.7.2 เป็น WordPress version 5.8–en

จากการวิเคราะห์โดยส่วนตัว (ยังไม่แหล่งที่มา) ก่อนที่ผู้เขียนจะตัดสินใจอัปเดตนั้น เนื่องการมีปัญหาเกิดขึ้น คือ

- ไม่สามารถ Embed ลิงค์ YouTube ในหน้า Post ได้ ขึ้นแจ้งว่า “Sorry, this content could not be embedded”
- ไม่สามารถอัปเดตเวอร์ชั่นของ Plug in ได้
- ไม่สามารถอัปเดต Themes ต่าง ๆ ได้
ในส่วนขอข้อ 2 และ 3 นั้นจะปรากฏแจ้งเตือนเป็นประโยค Download failed. A valid URL was not provided ซึ่งอาจสร้างความหงุดหงิดให้กับใครหลายคนได้
แต่แล้วการค้นหาคำตอบในหลากหลายเว็บไซต์ซึ่งส่วนใหญ่จะเป็นทางอังกฤษเสียมากกว่า ซึ่งส่วนใหญ่จะให้เหตุผลว่า Themes ที่เลือกใช้นั้นไม่สามารถปรับกับ WordPress เวอร์ชั่นใหม่ได้ หรือมีปัญหาเกี่ยวกับ license นอกจากนี้บางบทความยังคงบอกอีกเช่นกันว่าการขึ้นเตือน Download failed. A valid URL was not provided เป็นกรณีที่หายากมาก
ผู้เขียนแทบไม่เจอบทความภาษาไทยที่จะช่วยและเขียนอธิบาย เราจึงเขียนมันขึ้นมา

วิธีการแก้ปัญหา
ขอออกตัวก่อนว่าต้องขอขอบคุณเว็บไซต์ต้นฉบับที่ทำให้สามารถแก้ไขปัญหานี้ได้ wordpress.stackexchange.com การแก้ไขปัญหาการขึ้นเตือน Download failed. A valid URL was not provided นั้นไม่ยาก เพียงแค่ต้องใช้ Code บางส่วนและใส่ลงไปในไฟล์ functions.php
แล้วไฟล์ functions.php คืออะไร? อยู่ที่ไหน?
ตอบ : สามารถได้ที่ส่วนแก้ไขโค้ดของ Themes ที่คุณเลือกใช้ และจะปรากฏแฟ้มข้อมูลโค้ดต่าง ๆ (สามารถดูได้ตามภาพ) ไปที่หน้าหลักของ WordPress มองหา Appearance > Theme Editor

หลังจากนั้นจะปรากฏหน้าสำหรับการแก้ไข้ Themes นั้น สำหรับใครที่ไม่รู้สัก HTML หรือ CSS หรือภาษาโค้ดอื่น ๆ อาจจะสงสัยว่าต้องไปที่และมันคืออะไร อยากบอกว่าไม่ต้องสนใจหน้าดังกล่าวให้ไปที่แฟ้มขวามือที่มี functions.php เขียนอยู่ คลิกเข้าไปแล้วเลื่อนโค้ดให้ถึงท้ายสุด และใส่โค้ดแก้ไขลงไป (เพื่อ avoid ssl check ) – สามารถมองหาโค้ดได้ที่ข้างล่าง

สามารถ copy โค้ดข้างล่างและนำไปวางได้เลย หลังจากนั้นอย่าลืม กด Update File
add_filter( 'http_request_args', function ( $args ) {
$args['reject_unsafe_urls'] = false;
return $args;
}, 999 );
cr. wordpress.stackexchange.com
หลังจากวางโค้ดและ Update File แล้วต้องทำอย่างไรต่อ ?
Code ดังกล่าวจะช่วยแก้ไขปัญหาดังกล่าว จากนั้นก็สามารถเข้าไปอัปเดตเวอร์ชั่นของ WordPress ได้แล้ว โดยกลับไปที่หน้า

และทำการกดปุ่มเพื่ออัพเดตเวอร์ชั่นได้เลย หลังจากนี้ก็สามารถอัปเดตได้โดยไม่มีปัญหา

เมื่อเข้าสู่หน้า Update จะปรากฏการอัปเดตเวอร์ชั่น WordPress และอัปเดตตัว Plugin ต่าง ๆ กดไปที่ ‘update now’ และรอระบบทำการประมวลสักครู่ หลังจากการอัปเดตสำเร็จจะปรากฏตามรูป เพียงแค่นี้คุณก็สามารถอัปเดตเวอร์ชั่นใหม่และสามารถอัปเดตตัวอื่น ๆ ได้เช่นกัน
คุณสามารถเช็คการทำงานอื่น ๆ เช่น ทดลองอัปเดต Plugin หรือ อัปเดต Theme ต่าง ๆ หรือแม้กระทั่งลอง Embed วิดีโอหรือ ลิงค์ YouTube ดู หากไม่มีปัญหาแสดงว่าสามารถแก้ไขปัญหาได้สำเร็จ
หยุดอ่านตรงนี้ก่อน : ข้อสำคัญที่ควรทราบ > วิธีเป็นการแก้ในส่วนเฉพาะ Theme ที่ใช้อยู่ ณ ตอนนั้นเท่านั้น ในกรณีที่คุฯเปลี่ยนไปใช้ Theme อื่นต้องกลับไปแก้ไขในส่วน functions.php ของ Theme อีกครั้ง