WP 4.4। उत्तरदायी छवियों ब्राउज़र "गलत" एक का चयन


9

मुझे खुशी है कि WP 4.4। एक अंतर्निहित उत्तरदायी छवि सुविधा वाले जहाज। लेकिन मैं इससे खुश नहीं हूं।

मैंने अपने कुछ कस्टम चित्र आकार सेट किए हैं functions.php:

add_image_size ('पोस्ट-थंबनेल', 600, 600, सच);
add_image_size ('समाचार-बड़े', 1024, झूठे);
add_image_size ('समाचार-छोटे', 500, झूठे);
add_image_size ('3-col', 500, 375, true);
add_image_size ('presscutting', 600, 850, सच);
add_image_size ('मध्यम-बड़े', 768, झूठे); // बस उपकरणों के समर्थन के लिए आज जोड़ा गया
add_image_size ('पूर्ण-सुविधा-छवि', 2000, गलत);
add_image_size ('गैलरी-छवि', 800, 600, सच);

जैसा कि मुझे लगा, ऐसी छवियां जो क्रॉप नहीं की गई हैं (क्रॉप सेट false) को इसमें जोड़ा गया है srcset। एक छवि दृश्यपटल में आउटपुट है जैसे (बेहतर पठनीयता के लिए जोड़ा गया लाइन ब्रेक):

<img चौड़ाई = "2000" ऊंचाई = "1335"
src = "http://mywebsite.com/cms/wp-content/uploads/2015/03/image-2000x1335.jpg" 
वर्ग = "अनुलग्नक-पूर्ण-सुविधा-छवि आकार-पूर्ण-सुविधा-छवि"
alt = "asdf"
srcset = "
http://mywebsite.com/cms/wp-content/uploads/2015/03/image-300x200.jpg 300, 
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 1024ww, 
http://mywebsite.com/cms/wp-content/uploads/2015/03/image-500x334.jpg 500w " 
size = "(अधिकतम-चौड़ाई: 2000px) 100vw, 2000px">

लेकिन अब मेरी समस्या है: मेरी स्क्रीन पर, केवल 1024px चौड़ाई के साथ निर्दिष्ट चित्र दिखाए गए हैं, हालाँकि यह 1600px स्क्रीन रिज़ॉल्यूशन के बराबर है। तो सभी चित्र धुंधले दिखते हैं।

मैं कैसे WP और / या मेरे ब्राउज़र के बजाय 2kpx छवि का उपयोग कर सकता हूं? क्या मुझे नई छवि आकार जोड़ना होगा, मान लें कि 1280px, 1440px, 1600px, 1968px? या फिर एक धुंधला और रास्ता बहुत छोटा संस्करण दिखाने के बजाय बड़ी छवि का उपयोग करने के लिए WP / ब्राउज़र को बताने का एक सरल तरीका है?


क्या आप इसे उपयोग करने के सही तरीके के साथ आज़मा सकते हैं add_image_size? आप हमेशा widthतर्क को झूठा सेट करते हैं - यह पूर्णांक (तीसरा तर्क) होना चाहिए।
फिशी

ठीक है, किया और कहा कि 9999 की ऊंचाई-मूल्य। असफलता से।
10_15

max_srcset_image_widthफिल्टर का डिफॉल्ट 1600 है।
बिरजायर

@Birgire को जानकर अच्छा लगा - लेकिन इससे बहुत मदद नहीं मिली। मैं इसे कैसे बदल सकता हूं (लगता है कि अभी तक कोई दस्तावेज नहीं है) - और क्या कोई बदलाव मेरी समस्या को हल करेगा?
rob_st

जवाबों:


9

प्रलेखन के बारे में वहाँ मेक ब्लॉग पर इस ब्लॉग पोस्ट है:

वर्डप्रेस 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 ('समाचार-बड़े', 1024, झूठे);

होने की जरूरत

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

धन्यवाद। मैंने ऊंचाई 9999 पर सेट की है - क्या इससे कोई फर्क पड़ता है? मैं इसे आज़माऊँगा।
rob_st

धन्यवाद, कि यह काम किया है। हालाँकि यह मूल रूप से इस एक के रूप में एक ही जवाब है और वास्तव में मैं नामित कार्यों को पसंद करता हूं - मैंने आपका स्वीकार किया क्योंकि आप पहले :-) थे
डकैत

मुझे लगता है कि यह मेरे लिए आवश्यक उत्तर हो सकता है, लेकिन मुझे नहीं पता कि इसका क्या मूल्य $size_arrayहोना चाहिए।
14

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 );
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.