URL से छवि कैसे प्राप्त करें और चित्रित छवि / पोस्ट थंबनेल के रूप में सेट करें


17

Vimeo ID को देखते हुए, मैं Vimeo Simple API के माध्यम से वीडियो से थंबनेल पुनः प्राप्त कर सकता हूं। हर बार एपीआई को कॉल करने के बजाय मेरा पेज लोड होता है, मैं save_postहुक का उपयोग करके छवि को पोस्ट थंबनेल के रूप में सेट करना चाहता हूं ( इस प्रश्न के समान )।

मेरी समस्या यह है कि मैं php में URL कॉल से परिचित नहीं हूँ। मैं जानना चाहता हूँ:

  1. की तुलना में कर्ल जैसी विधि का उपयोग करने के लाभ / कमियां WP_Http। क्या यह दूसरे से बढ़िया है?

  2. उस क्रम में, जिसमें मुझे थम्बनेल पोस्ट को सफलतापूर्वक सेट करने के लिए फ़ंक्शन को कॉल करना चाहिए।

किसी भी तरह की सहायता का स्वागत किया जाएगा।


क्या किसी ने यह पता लगाया है? मैं ऐसा करने की कोशिश कर रहा हूं।

जवाबों:


12

इस समस्या से निपटने का मेरा पसंदीदा तरीका यह है कि मैं एक और स्टैक पोस्ट पर खोजे गए एक छोटे से दस्तावेज का उपयोग करूँ: media_sideload_image

यह वर्डप्रेस अपलोड डीआईआर में एक छवि यूआरएल प्राप्त करके और फिर छवि को पोस्ट के अनुलग्नकों में जोड़कर काम करता है।

आप इसे इस तरह आज़मा सकते हैं:

// required libraries for media_sideload_image
require_once(ABSPATH . 'wp-admin/includes/file.php');
require_once(ABSPATH . 'wp-admin/includes/media.php');
require_once(ABSPATH . 'wp-admin/includes/image.php');

// $post_id == the post you want the image to be attached to
// $video_thumb_url == the vimeo video's thumb url
// $description == optional description

// load the image
$result = media_sideload_image($video_thumb_url, $post_id, $description);

// then find the last image added to the post attachments
$attachments = get_posts(array('numberposts' => '1', 'post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC'));


if(sizeof($attachments) > 0){
    // set image as the post thumbnail
    set_post_thumbnail($post_id, $attachments[0]->ID);
}  

4

हाय @ डेविड जॉन स्मिथ :

1.) यदि आप वर्डप्रेस में हैं, (लगभग) हमेशा उपयोग करते हैं WP_Http; यह उन कई चीजों में से एक है, जो मुझे वर्डप्रेस के साथ काम करने के बारे में पसंद हैं। इसे क्यों कहते हैं और CURL नहीं? ठीक है, क्योंकि इसमें एक अच्छा सिंटैक्स है और यह CURL को कॉल करता है यदि CURL उपलब्ध है। यदि नहीं, तो यह 3 अन्य विकल्पों में से एक को चुनता है। तो यह वास्तव में किट का एक शानदार टुकड़ा है।

2.) दूसरे प्रश्न का उत्तर देने के लिए मुझे यह जानना होगा कि आप जिस फाइल को डाउनलोड कर रहे हैं उसका नाम कैसे रखना चाहते हैं?


धन्यवाद माइक। पोस्ट थंबनेल के लिए के रूप में, मैं वास्तव में परवाह नहीं है कि वे किस तरह नामित कर रहे हैं, मैं तो बस की तरह, एक पोस्ट से संबंधित के रूप में उन्हें का उपयोग करने के लिए या तो द्वारा सक्षम होने के लिए चाहते हैं post_thumbnail()या get_post_meta()। मुझे लगता है कि इसे पोस्ट आईडी के साथ नाम देने का मतलब होगा।
डेविड जॉन स्मिथ

इस पर किसी भी अद्यतन?
NetConstructor.com

@NetConstructor - ऐसे प्रश्नों का ट्रैक रखना वास्तव में कठिन है जो "लंबित" स्थिति में हैं, इसलिए नहीं। मैंने अपने बुकमार्क बार पर "लंबित" फ़ोल्डर बनाया है, मैं देखूंगा कि क्या मैं उसके साथ अधिक सुसंगत नहीं हो सकता। लेकिन, मेरे पास अभी इसके लिए समय नहीं है इसलिए इसे वापस आना होगा।
माइकस्किंकल

@ माइक - धन्यवाद माइक, बस आपको लगता है कि आपके पास एक समाधान हो सकता है यहां अन्य चीजों के कारण आप इस सामान के स्वामी प्रतीत होते हैं :-)
NetConstructor.com

@ NetConstructor.com - LOL! धन्यवाद, मैं सिर्फ डिबगर का मास्टर हूं, बस इतना ही। :)
23
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.