मुझे केवल the_post_thumbnail पर छवि url कैसे मिलती है


33

मैं यह जानना चाहता हूं कि इमेज यूरल कैसे प्राप्त करें the_post_thumbnail()

चूक the_post_thumbnail()

<img width="800" height="533" src="http://domain.com/wp-content/uploads/2011/02/book06.jpg" class="attachment-post-thumbnail wp-post-image" alt="book06" title="book06" />

यहाँ मैं केवल src हड़पना चाहता हूँ। मैं the_post_thumbnail()केवल पाने के लिए कैसे फ़िल्टर करूं ?http://domain.com/wp-content/uploads/2011/02/book06.jpg

मुझे बताएं


जवाबों:


41

आप भी कोशिश कर सकते हैं:

यदि आपके पास केवल एक आकार है थंबनेल:

$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ) );

या ... यदि आपके पास कई आकार हैं:

$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "size" );

ध्यान दें कि wp_get_attachment_image_src () एक सरणी देता है: url, चौड़ाई, ऊंचाई, is_intermediate।

इसलिए यदि आप केवल छवि url चाहते हैं:

echo $thumbnail[0];

संसाधन:


थोड़ा संकेत: यदि आप आकार के साथ wp_get_attachment_image_src () फ़ंक्शन का उपयोग कर रहे हैं और सटीक थंबनेल आकार प्राप्त करना चाहते हैं: परिभाषा में दिए गए थंबनेल नाम का उपयोग करें (फ़ंक्शन add_image_size ())। यदि आप आयामों के साथ सरणी का उपयोग करते हैं तो WP पहले छवि आकार का उपयोग करेगा जिसमें उचित चौड़ाई या ऊंचाई है। तो आपको गलत इमेज मिल सकती है। उदाहरण: 156x98 के बजाय आपको 120x98 मिल सकता है यदि आपके पास 2 चित्र परिभाषित हैं: 156x98 और 120x98 (ऊंचाई समान है)। मैं इसके लिए एक बार गिर गया;)
मारेक टचलस्की

2

यह चाल है:

<?php wp_get_attachment_image_src('subgall-thumb'); ?>

सुनिश्चित करें कि आप उस थंबनेल के लिए सही नाम का उपयोग करते हैं जिसे आप कॉल कर रहे हैं।


मुझे नहीं पता कि यह 2012 के बाद से बदल गया है, लेकिन 2017 में पहले पैरामीटर का wp_get_attachment_image_srcआकार आईडी नंबर होना चाहिए, आकार नहीं।
स्क्वायरकैंडी

2

वर्डप्रेस 4.4 के बाद से, एक कुशल कोर फ़ंक्शन है जो इसे यहां के उत्तरों की तुलना में एक क्लीनर तरीके से संभाल सकता है।

आप उपयोग कर सकते हैं the_post_thumbnail_url( $size )जो पोस्ट थंबनेल का URL प्रिंट करेगा।

वैकल्पिक रूप से यदि आप URL को तुरंत आउटपुट के बजाय वापस करना चाहते हैं, तो आप उपयोग कर सकते हैं $url = get_the_post_thumbnail_url( $size )


0

ठीक है यह का उपयोग कर मिल गया simplexml_load_string

$dom = simplexml_load_string(get_the_post_thumbnail());
$src = $dom->attributes()->src;
    echo $src;

एक अन्य विधि का स्वागत है।


0

कृपया नीचे दिए गए कोड का उपयोग करें

<?php get_the_post_thumbnail_url(); ?>

यदि यह अपने लक्ष्य को प्राप्त करने के लिए पर्याप्त नहीं है, तो कोड के नीचे प्रयास करें

<?php $postimages = wp_get_attachment_image_src( get_post_thumbnail_id( get_the_ID() ), 'large' );

// Check for images if ( $postimages ) {

    // Get featured image   $postimage = $postimages[0];

} else {} while (have_posts() && $i < 8) : the_post(); echo esc_url( $postimage ); ?>

0

एक त्वरित और गंदे समाधान के लिए, अपने विषय के फ़ंक्शन .php फ़ाइल में इसे थप्पड़ मारो

FUNCTION GET_STRING_BETWEEN($STRING, $START, $END){
    $STRING = " ".$STRING;
    $INI = STRPOS($STRING, $START);
    IF ($INI == 0) RETURN "";
    $INI += STRLEN($START);
    $LEN = STRPOS($STRING, $END, $INI) - $INI;
    RETURN SUBSTR($STRING, $INI, $LEN);
}

लूप के भीतर उपयोग किया जाता है, यह आपको वह देगा जो आप खोज रहे हैं

यह http://foo.com/wp-content/uploads/2019/02/toy-story-two-was-ok.jpg

$THE_FEATURED_IMAGE = GET_STRING_BETWEEN(get_the_post_thumbnail(NULL,'post-large'), 'src="', '" class="');

* "लूप के भीतर" = जबकि (has_posts ()): the_post () जैसे कुछ की तलाश करें;

** आप इनमें से किसी भी पूर्वनिर्धारित छवि आकार के साथ " पोस्ट-लार्ज " को भी हटा सकते हैं: पोस्ट-थंबनेल, पोस्ट-मीडियम, पोस्ट-फ़ुल;

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