किसी विषय के भीतर निर्धारित सभी संभावित थंबनेल आकारों की सूची कैसे प्राप्त करें


24

प्रत्येक छवि आकार के आयाम (अधिमानतः एक सरणी में) जो एक बच्चे के विषय में परिभाषित किया गया है, को प्राप्त करने के लिए मैं किस फ़ंक्शन का उपयोग कर सकता हूं?

स्पष्टीकरण के लिए मैं यह नहीं पूछ रहा हूं कि एक नया छवि आकार कैसे बनाया जाए


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

जवाबों:


41

यहां मिला । उत्तर है:

global $_wp_additional_image_sizes; 
print '<pre>'; 
print_r( $_wp_additional_image_sizes ); 
print '</pre>';

इसे functions.phpफ़ाइल के शीर्ष पर जोड़ने से काम नहीं चलेगा, लेकिन इसे उस फ़ाइल में अपने किसी भी कार्य में चिपका दें और इसे काम करना चाहिए।
kevnk

14

यदि आपको केवल सभी छवि आकारों के नामों की आवश्यकता है, तो आप get_intermediate_image_sizes का उपयोग कर सकते हैं :

<pre>
<?php print_r(get_intermediate_image_sizes()); ?>
</pre>

13

वर्डप्रेस कोर में मध्यवर्ती छवि आकार (यानी चौड़ाई और ऊंचाई) प्राप्त करने के लिए एक मूल तरीका नहीं है , लेकिन निम्न सहायक फ़ंक्शन को उनके आयामों के साथ सभी पंजीकृत छवि आकार मिलेंगे:

/**
 * Get all the registered image sizes along with their dimensions
 *
 * @global array $_wp_additional_image_sizes
 *
 * @link http://core.trac.wordpress.org/ticket/18947 Reference ticket
 *
 * @return array $image_sizes The image sizes
 */
function _get_all_image_sizes() {
    global $_wp_additional_image_sizes;

    $default_image_sizes = get_intermediate_image_sizes();

    foreach ( $default_image_sizes as $size ) {
        $image_sizes[ $size ][ 'width' ] = intval( get_option( "{$size}_size_w" ) );
        $image_sizes[ $size ][ 'height' ] = intval( get_option( "{$size}_size_h" ) );
        $image_sizes[ $size ][ 'crop' ] = get_option( "{$size}_crop" ) ? get_option( "{$size}_crop" ) : false;
    }

    if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) ) {
        $image_sizes = array_merge( $image_sizes, $_wp_additional_image_sizes );
    }

    return $image_sizes;
}

जो परिणाम के समान परिणाम देगा:

Array
(
    [thumbnail] => Array
        (
            [width] => 150
            [height] => 150
            [crop] => 1
        )

    [medium] => Array
        (
            [width] => 300
            [height] => 300
            [crop] => 
        )

    [medium_large] => Array
        (
            [width] => 768
            [height] => 0
            [crop] => 
        )

    [large] => Array
        (
            [width] => 1024
            [height] => 1024
            [crop] => 
        )

)

3
अधिक पूर्ण उत्तर के लिए +1। अन्य लोग अतिरिक्त आकार लौटाते हैं, लेकिन डिफ़ॉल्ट नहीं।
काजुमा एनआई कैवलन्ती

2
यदि आप WP 4.4 से आकार $default_image_sizes = get_intermediate_image_sizes();का उपयोग करते हैं तो भी बेहतर है medium_large
नैटबीटी

अच्छा सुझाव; मैंने आपकी अनुशंसा से उत्तर को अपडेट कर दिया है।
आरजेबी

ACF ने अपने मीडिया सरणी के साथ मुझे खराब कर दिया है।
एडम पैटरसन

3

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

add_action('init', 'get_all_image_sizes');

function get_all_image_sizes(){
    global $_wp_additional_image_sizes; 
    print '<pre>'; 
    print_r( $_wp_additional_image_sizes ); 
    print '</pre>';
}

मैंने कई तरीकों का परीक्षण किया है और यह आखिरकार काम कर गया। (WP + WooCommerce + कस्टम विषय)
Juraj.Lorinc
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.