2013-02-18 53 views
5

के बाहर WP oembed स्क्रिप्ट का उपयोग कैसे करें मेरे पास एक कस्टम पोस्ट प्रकार "वीडियो" है और WP डिफ़ॉल्ट ओम्बेड स्क्रिप्ट का उपयोग करके निर्दिष्ट क्षेत्र में यूट्यूब, दैनिक गति जैसे वीडियो दिखाना चाहता था। तो मैं एक कस्टम फ़ील्ड "वीडियो यूआरएल" का उपयोग कर रहा हूं, लेकिन समस्या यह है कि में काम करता है the_content कस्टम फ़ील्ड के साथ नहीं। तो मैं यह कैसे कर सकता हूँ। या किसी अन्य समाधान_content

उत्तर

10

कस्टम फ़ील्ड केवल http://www.youtube.com/watch?v=dQw4w9WgXcQ की तरह वीडियो यूआरएल है, तो आप wp_oembed_get साथ oEmbed HTML कोड प्राप्त कर सकते हैं:

$videourl = 'http://www.youtube.com/watch?v=dQw4w9WgXcQ'; 
$htmlcode = wp_oembed_get($videourl); 
echo $htmlcode; 

अपने कस्टम फ़ील्ड बस URL से अधिक है, तो आप एक ही बात the_content समारोह करता है वह करने the_content फिल्टर इस्तेमाल कर सकते हैं:

$content = "<h2>this video is great</h2>\n<p>check it out</p>\n" 
    . "[embed]http://www.youtube.com/watch?v=dQw4w9WgXcQ[/embed]"; 

$htmlcode = apply_filters('the_content', $content); 
echo $htmlcode; 
+0

धन्यवाद कि वास्तव में काम करता है, लेकिन यह प्रत्यक्ष यूआरएल पर काम करता है जब मैं get_post_meta उदाहरण $ videourl = 'पोस्ट मेटा कोड का उपयोग करके' का उपयोग करता हूं; $ htmlcode = wp_oembed_get ($ videourl); $ htmlcode गूंज; –

+0

धन्यवाद जो काम करता है मैं दूसरे पर पता लगाता हूं। और एम्बेड वीडियो की चौड़ाई और ऊंचाई को कैसे बदलें –

+0

सभी काम धन्यवाद आपके समय के लिए "vstm" sir –

-1

यहाँ अपने प्रश्न का एक पूरा जवाब है। शोर्ट के बजाए wp_oembed_get का उपयोग करके यह एक क्लीनर और तेज विधि भी है। बेशक, अपने कस्टम फ़ील्ड के नाम पर video_url बदलें।

यह कोड चेक करता है कि video_url फ़ील्ड खाली नहीं है, फिर वीडियो को छोड़ दें।

<?php if (!((get('video_url', TRUE))=='')) { 
    echo wp_oembed_get(get('video_url', true)); 
}?> 
+0

आपको अपने कस्टम फ़ील्ड के नाम पर 'video_url' को बदलना होगा, अन्यथा आपको' अपरिभाषित फ़ंक्शन को कॉल() 'मिलेगा। मेरे पास 10+ वेबसाइटों पर यह सटीक कोड सक्रिय है, इसलिए मुझे पता है कि यह काम करता है ... यह एक अवांछित सुझाव नहीं है। –

+0

उत्तर कस्टम फ़ील्ड के कार्यान्वयन के बिना पूरा नहीं हुआ है। यह अभी भी क्लीनर नहीं है और न ही दूसरे की तुलना में तेज़ है। –