หน้า 1 จากทั้งหมด 1

แก้ปัญหา Wordpress: ภาพไม่ขึ้น เมื่อเปลี่ยนเว็บ จาก http เป็น https เพราะ srcset

โพสต์แล้ว: 05/08/2019 8:12 am
โดย mindphp
แก้ปัญหา Wordpress: ภาพไม่ขึ้น เมื่อเปลี่ยนเว็บ เป็น https เพราะ srcset ของ tag img ในการแสดงผล ไม่ยอมเปลี่ยน จาก http เป็น https
ทั้งๆที่เรา กำหนด siteurl เป็น httpsซึ่งจริงๆมันควรจะเปลี่ยนให้ ทั้งหมดของโดเมนเราแล้ว แต่ดันมีโค้ดบางส่วนที่มีการเช็คเงื่อนไขของฟังก์ชั่น wp_calculate_image_srcset เปลี่ยนได้ไม่หมด
ปัญหานี้เกิดได้กับ ทำ https เอง และ ใช้ cloudflare

วิธีแก้ เข้าไปที่
wp-includes/media.php
ค้นหา

โค้ด: เลือกทั้งหมด

    if ( is_ssl() && 'https' !== substr( $image_baseurl, 0, 5 ) && parse_url( $image_baseurl, PHP_URL_HOST ) === $_SERVER['HTTP_HOST'] ) {
        $image_baseurl = set_url_scheme( $image_baseurl, 'https' );
    }
 


เพิ่มโค้ด

โค้ด: เลือกทั้งหมด

 $image_baseurl = set_url_scheme( $image_baseurl, 'https' ); 

หลังบรรทัดที่เจอ จะได้โค้ดที่สมบูรณ์ ดังนี้

โค้ด: เลือกทั้งหมด

    if ( is_ssl() && 'https' !== substr( $image_baseurl, 0, 5 ) && parse_url( $image_baseurl, PHP_URL_HOST ) === $_SERVER['HTTP_HOST'] ) {
        $image_baseurl = set_url_scheme( $image_baseurl, 'https' );
    }
    # ส่วนที่เราเพิ่มเข้าไป
    $image_baseurl = set_url_scheme( $image_baseurl, 'https' ); 

Re: แก้ปัญหา Wordpress: ภาพไม่ขึ้น เมื่อเปลี่ยนเว็บ จาก http เป็น https เพราะ srcset

โพสต์แล้ว: 03/09/2019 2:55 pm
โดย mindphp
ถ้าใครอัพเกรดเวอร์ชั่น ใหม่ อย่างลืมมาปรับตรงจุดนี้อีกครั้ง

Re: แก้ปัญหา Wordpress: ภาพไม่ขึ้น เมื่อเปลี่ยนเว็บ จาก http เป็น https เพราะ srcset

โพสต์แล้ว: 07/09/2019 2:56 pm
โดย mindphp
ล่าสุด เวอร์ชั่น WordPress 5.2.3 ยังคงมี ปัญหานี้อยู่
แต่ตามหัวข้อกระทู้กับต่อไป