WP 4.4 เบราว์เซอร์รูปภาพที่ตอบสนองต่อการเลือก "ผิด" หนึ่ง


9

ฉันดีใจที่ WP 4.4 มาพร้อมกับคุณสมบัติภาพที่ตอบสนองในตัว แต่ฉันไม่ได้มีความสุขกับมัน

ฉันได้ตั้งค่าขนาดภาพที่กำหนดเองในfunctions.php:

add_image_size ('โพสต์รูปขนาดย่อ', 600, 600, จริง);
add_image_size ('news-large', 1024, false);
add_image_size ('news-small', 500, false);
add_image_size ('3-col', 500, 375, true);
add_image_size ('presscutting', 600, 850, จริง);
add_image_size ('ขนาดกลางใหญ่', 768, เท็จ); // เพิ่งเพิ่มวันนี้เพื่อรับการสนับสนุนอุปกรณ์
add_image_size ('full-feature-image', 2000, false);
add_image_size ('แกลเลอรี่ภาพ', 800, 600, จริง);

ขณะที่ผมคิดว่าภาพที่ไม่ได้ตัด (การปลูกพืชชุดfalse) srcsetมีการเพิ่ม ภาพถูกส่งออกในส่วนหน้าเช่น (เพิ่มตัวแบ่งบรรทัดเพื่อให้อ่านง่ายขึ้น):

<img width = "2000" height = "1335"
src = "http://mywebsite.com/cms/wp-content/uploads/2015/03/image-2000x1335.jpg" 
class = "สิ่งที่แนบมาเต็มรูปแบบคุณสมบัติขนาดเต็มรูปแบบคุณสมบัติภาพ"
alt = "asdf"
srcset ="
http://mywebsite.com/cms/wp-content/uploads/2015/03/image-300x200.jpg 300w 
http://mywebsite.com/cms/wp-content/uploads/2015/03/image-768x513.jpg 768w 
http://mywebsite.com/cms/wp-content/uploads/2015/03/image-1024x683.jpg 1024w 
http://mywebsite.com/cms/wp-content/uploads/2015/03/image-500x334.jpg 500w " 
ขนาด = "(ความกว้างสูงสุด: 2000px) 100vw, 2000px">

แต่ตอนนี้ปัญหาของฉัน: บนหน้าจอของฉันจะแสดงเฉพาะภาพที่ระบุด้วยความกว้าง 1024px แม้ว่าจะมีความละเอียดหน้าจอ 1600px ก็ตาม ภาพทั้งหมดจึงดูพร่ามัว

ฉันจะทำให้ WP และ / หรือเบราว์เซอร์ของฉันใช้รูปภาพ 2kpx ได้อย่างไร ฉันต้องเพิ่มขนาดรูปภาพใหม่ให้สมมุติว่า 1280px, 1440px, 1600px, 1968px หรือไม่ หรือมีวิธีที่ง่ายกว่าในการบอก WP / เบราว์เซอร์ให้ใช้ภาพขนาดใหญ่แทนที่จะแสดงภาพที่พร่ามัวและมีขนาดเล็กเกินไป?


คุณช่วยลองใช้วิธีที่ถูกต้องได้add_image_sizeไหม? คุณตั้งค่าwidthอาร์กิวเมนต์เป็นเท็จเสมอซึ่งควรเป็นจำนวนเต็ม (อาร์กิวเมนต์ที่สาม)
fischi

ตกลงทำแล้วเพิ่มมูลค่าความสูงเป็น 9999 ภาพขนาดย่อที่ปรับขนาดแล้ว ไม่มีประโยชน์.
rob_st

ค่าเริ่มต้นของmax_srcset_image_widthตัวกรองคือ 1600
birgire

เป็นการดีที่จะรู้ @birgire - แต่นั่นก็ไม่ได้ช่วยอะไรมาก ฉันจะเปลี่ยนได้อย่างไร (ดูเหมือนว่ายังไม่มีเอกสารประกอบ) - และการเปลี่ยนแปลงจะแก้ไขปัญหาของฉันได้อย่างไร
rob_st

คำตอบ:


9

เอกสารเกี่ยวกับการโพสต์บล็อกนี้บน Make Blog:

รูปภาพตอบสนองใน WordPress 4.4

หากต้องการเพิ่มขีด จำกัด 1600px ที่กล่าวถึงในความคิดเห็นให้ลอง:

add_filter('max_srcset_image_width', function($max_srcset_image_width, $size_array){
    return 2000;
}, 10, 2);

สุดท้ายดังกล่าวแล้วคุณควรแก้ไขการโทรของคุณ add_image_size

add_image_size ('news-large', 1024, false);

จะต้องเป็น

add_image_size('news-large', 1024, 0, false);

ขอบคุณ. ฉันตั้งความสูงเป็น 9999 - มันสร้างความแตกต่างหรือไม่? ฉันจะลองดู
rob_st

ขอบคุณที่ทำให้มันใช้งานได้ แม้ว่าโดยทั่วไปจะเป็นคำตอบเดียวกับอันนี้และจริง ๆ แล้วฉันชอบฟังก์ชั่นที่มีชื่อ - ฉันยอมรับคุณเพราะคุณเป็นคนแรก :-)
rob_st

ฉันคิดว่านี่อาจเป็นคำตอบที่ฉันต้องการ แต่ฉันไม่รู้ว่า$size_arrayควรจะมีค่าอะไร
Telarian

1

ฉันแก้ไขปัญหาเดียวกันโดยเพิ่มขนาดพิเศษให้srcsetกับฟังก์ชันตัวกรองที่คุณสามารถเพิ่มในfunctions.php:

function filter_max_srcset( $max_width, $size_array ) {
    if ( $size_array[0] === 1800 ) {
        $max_width = 1800;
    }
    return $max_width;
}
add_filter( 'max_srcset_image_width', 'filter_max_srcset', 10, 2 );
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.