set_post_thumbnail_size बनाम add_image_size


11

Set_post_thumbnail_size और add_image_size के बीच क्या अंतर है? क्या सभी छवियों के लिए set_post_thumbnail_size है, और व्यक्तिगत रूप से छवियों को आकार देने के लिए add_image_size है?

धन्यवाद।

जवाबों:


27

जब कोई चित्र वर्डप्रेस में अपलोड किया जाता है, तो यह अपने मूल आकार में सहेजा जाता है, और विभिन्न आकारों में कुछ आकारित प्रतियों के रूप में भी । इस तरह विभिन्न उद्देश्यों के लिए, एक ही छवि के विभिन्न आकारों का उपयोग करना आसान हो जाता है।

डिफ़ॉल्ट रूप से, वर्डप्रेस 3 अलग-अलग आकारों में 3 प्रतियां बनाता है:

  • 'thumb'
  • 'medium'
  • 'large'

इन 3 आकारों के लिए पिक्सेल का आकार मेनू के नीचे वर्डप्रेस डैशबोर्ड में सेट किया जा सकता है Settings -> Media

अब, फ़ंक्शन add_image_sizeका उपयोग एक नए आकार को पंजीकृत करने के लिए किया जाता है, जो 3 डिफॉल्ट में जोड़ता है।

पंजीकृत हर आकार जैसा कि इसके नाम का उपयोग कर प्राप्त किए जा सकें कुछ वर्डप्रेस समारोह, जैसे में, wp_get_attachment_image_src, wp_get_attachment_image, wp_get_attachment_link

ये सभी कार्य एक पैरामीटर को स्वीकार करते $sizeहैं जो पंजीकृत आकारों (3 मानकों में से एक, या पंजीकृत कस्टम आकारों में से एक) का नाम होना चाहिए add_image_size

यदि तर्क के 'full'रूप में उपयोग किया जाता $sizeहै, तो मूल छवि वापस आ जाती है, जिसे आकार नहीं दिया जाता है।

ऊपर वर्णित कार्यों के अलावा, दो अन्य कार्य हैं जो छवि आकारों का उपयोग करते हैं: get_the_post_thumbnailऔर the_post_thumbnail

इन दो कार्यों को (पहले) और प्रतिध्वनि (दूसरी) छवि मिलती है जो किसी पोस्ट के लिए "फीचर्ड इमेज" के रूप में सेट की जाती है।

इन फ़ंक्शंस द्वारा जो लौटाया गया है (या प्रतिध्वनित), वह पूर्ण imghtml टैग है, कुछ इस तरह

<img scr="http://www.example.com/wp-content/2013/08/image-200x200.jpg" />

तो, किस आकार का उपयोग किया जाता है?

यदि a $sizeको 2 तर्क (1st $postid) के रूप में पारित किया जाता है , तो ये फ़ंक्शन उस आकार में छवि को वापस कर देते हैं। अन्यथा, ये फ़ंक्शन नाम के साथ पंजीकृत एक छवि आकार की खोज करते हैं post-thumbnail:।

यह 3 डिफ़ॉल्ट आकारों में से एक नहीं है, वास्तव में, यह 4 के मानक आकार (5 वें माना जाता है full) है और आप इसे कॉल करने का पंजीकरण कर सकते हैं set_post_thumbnail_size

इसलिए

set_post_thumbnail_size( $width, $height, $crop );

के लिए एक शॉर्टकट है

add_image_size( 'post-thumbnail', $width, $height, $crop );

यदि आपने नहीं बुलाया है set_post_thumbnail_size(जिसका अर्थ है कि आकार 'post-thumbnail'नहीं बनाया गया है), वर्डप्रेस आकार का उपयोग करेगा thumb, और यदि यह आकार भी उपलब्ध नहीं है, तो वर्डप्रेस मूल छवि का उपयोग करेगा, जो आकार में नहीं है।

कस्टम इमेज साइज़ को रजिस्टर करना किसी थीम को डिज़ाइन करते समय बहुत मददगार हो सकता है, लेकिन इसका दुरुपयोग न करना महत्वपूर्ण है: हर अपलोड की गई इमेज को कॉपी किया जाता है और पंजीकृत सभी आकारों के लिए आकार दिया जाता है, इसलिए बहुत सारे साइज़ को पंजीकृत करना इमेज अपलोडिंग प्रक्रिया को बहुत धीमा कर देगा।

एक नोट:

ध्यान रखें कि जब वर्डप्रेस किसी इमेज की स्केल्ड कॉपी बनाता है, तो वह इसे कभी बड़ा नहीं करता, बल्कि केवल छोटी कॉपी बनाता है: जैसे कि अगर ऑरिजनल इमेज 400x500px है, और 'मीडियम' इमेज साइज 800x600px है, तो मीडियम साइज और बड़ा नहीं बनता है ।

इसलिए एक इमेज साइज को रजिस्टर करना कभी भी सुरक्षा नहीं देता है कि पंजीकृत हर साइज की एक इमेज फाइल वास्तव में वर्डप्रेस कंटेंट फोल्डर में मौजूद होती है। यहां तक ​​कि क्योंकि पंजीकृत छवि आकार आसानी से बदलते हैं: सेटिंग्स बदलना, थीम बदलना आदि।

जब किसी छवि का आकार बदलता है, किसी भी कारण से, परिवर्तन का उस परिवर्तन के बाद अपलोड की गई छवियों पर प्रभाव पड़ता है ; आयामों को बदलने से पहले अपलोड की गई छवियों को फिर से शुरू नहीं किया गया है और फिर से शुरू नहीं किया गया है

यदि किसी को पहले से ही अपलोड की गई छवियों (जैसे विषय बदलने के बाद) के बाद विशिष्ट छवि आकारों पर भरोसा करने की आवश्यकता है, तो प्लगइन पुनर्जीवित थंबनेल एक जीवन रक्षक होगा।


2
बहुत बढ़िया। मैंने आपके उत्तर के कारण 5 बार क्लिक किया होगा, लेकिन साइट इसकी अनुमति नहीं देती है। Thanls।
ग्रिस्सो

आप कर रहे हैं स्वागत है, एक ठीक अब और है :)
gmazzap

बस एक और अधिक खोज: क्या होगा अगर मैंने set_post_thumbnail_size नहीं कहा है (जिसका अर्थ है कि आकार 'पोस्ट-थम्बनेल' नहीं बनाया गया है, तो मैं the_post_thumbnail को कॉल करता हूं। क्या होने वाला है (क्योंकि the_post_thumbnail) पोस्ट-थंबनेल का उपयोग करने का प्रयास करेगा। परम)।
ग्रिस्सो

@GM, एक स्पष्ट विवरण के लिए अंगूठे
इस्तियाक अहमद

यह उत्तर बहुत मददगार है! हालाँकि, मुझे लगता है कि यह: set_post_thumbnail_size( 150, 150 ); If you haven't called set_post_thumbnail_size (which means the size 'post-thumbnail' is not created), WordPress will use the size thumb, and if even this size is not available, WordPress will use the original image, the one not resized. ... गलत है। मेरे अनुभव के परीक्षण में, यदि set_post_thumbnail_size()इसे नहीं बुलाया गया है, तो WP पूर्ण आकार की छवि पर वापस आ जाता है।
ट्रैविस नॉर्थकट

1

कोडेक्स से:

set_post_thumbnail_size

डिफ़ॉल्ट फीचर्ड इमेज (पूर्व में पोस्ट थंबनेल) आयाम सेट करें। विशेष रुप से प्रदर्शित छवियों के लिए अतिरिक्त छवि आकारों को पंजीकृत करने के लिए: add_image_size ()।

add_image_size

एक नई छवि का आकार पंजीकृत करता है। इसका मतलब यह है कि जब आप एक नई छवि अपलोड करते हैं, तो वर्डप्रेस निर्दिष्ट इमेज के साथ फीचर्ड इमेज (जिसे पोस्ट थंबनेल के रूप में जाना जाता है) की एक प्रति तैयार करेगा।


क्या मैं set_post_thumbnail_size का उपयोग किए बिना add_image_size का उपयोग कर सकता हूं?
ग्रिस्सो

हां बिल्कुल।
Krzysiek Dróżdż
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.