แก้ปัญหา
Wordpress: ภาพไม่ขึ้น เมื่อเปลี่ยนเว็บ เป็น https เพราะ srcset ของ tag img ในการแสดงผล ไม่ยอมเปลี่ยน จาก http เป็น https
ทั้งๆที่เรา กำหนด siteurl เป็น
httpsซึ่งจริงๆมันควรจะเปลี่ยนให้ ทั้งหมดของโดเมนเราแล้ว แต่ดันมีโค้ดบางส่วนที่มีการเช็คเงื่อนไขของฟังก์ชั่น wp_calculate_image_srcset เปลี่ยนได้ไม่หมด
ปัญหานี้เกิดได้กับ ทำ https เอง และ ใช้
cloudflare
วิธีแก้ เข้าไปที่
wp-includes/media.php
ค้นหา
Code: Select all
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' );
}
เพิ่มโค้ด
Code: Select all
$image_baseurl = set_url_scheme( $image_baseurl, 'https' );
หลังบรรทัดที่เจอ จะได้โค้ดที่สมบูรณ์ ดังนี้
Code: Select all
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' );
แก้ปัญหา [url=https://www.mindphp.com/%E0%B8%9A%E0%B8%97%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1/wordpress/3075-what-is-wordpress.html]Wordpress[/url]: ภาพไม่ขึ้น เมื่อเปลี่ยนเว็บ เป็น https เพราะ srcset ของ tag img ในการแสดงผล ไม่ยอมเปลี่ยน จาก http เป็น https
ทั้งๆที่เรา กำหนด siteurl เป็น [url=https://www.mindphp.com/%E0%B8%84%E0%B8%B9%E0%B9%88%E0%B8%A1%E0%B8%B7%E0%B8%AD/73-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/2046-http-https-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3.html]https[/url]ซึ่งจริงๆมันควรจะเปลี่ยนให้ ทั้งหมดของโดเมนเราแล้ว แต่ดันมีโค้ดบางส่วนที่มีการเช็คเงื่อนไขของฟังก์ชั่น wp_calculate_image_srcset เปลี่ยนได้ไม่หมด
ปัญหานี้เกิดได้กับ ทำ https เอง และ ใช้ [url=https://www.mindphp.com/%E0%B8%84%E0%B8%B9%E0%B9%88%E0%B8%A1%E0%B8%B7%E0%B8%AD/73-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3/3426-what-is-cloudflare.html]cloudflare[/url]
วิธีแก้ เข้าไปที่
wp-includes/media.php
ค้นหา
[code=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' );
}
[/code]
เพิ่มโค้ด
[code=php] $image_baseurl = set_url_scheme( $image_baseurl, 'https' ); [/code]
หลังบรรทัดที่เจอ จะได้โค้ดที่สมบูรณ์ ดังนี้
[code=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' ); [/code]