2013-02-18 31 views
5

Tôi đã đăng loại tùy chỉnh "video" và muốn hiển thị các video như youtube, dailymotion trong một khu vực được chỉ định bằng cách sử dụng tập lệnh mặc định của WP. Vì vậy, tôi đang sử dụng trường tùy chỉnh "url video", nhưng vấn đề là được nén hoạt động trong the_content không có trường tùy chỉnh. vì vậy làm thế nào tôi có thể làm điều này. hoặc bất kỳ giải pháp khácCách sử dụng kịch bản WP oembed bên ngoài the_content

Trả lời

10

Nếu trường tùy chỉnh chỉ chứa các URL video như http://www.youtube.com/watch?v=dQw4w9WgXcQ, sau đó bạn có thể lấy mã oEmbed HTML với wp_oembed_get:

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

Nếu trường tùy chỉnh của bạn chứa nhiều hơn là chỉ URL, bạn có thể sử dụng bộ lọc the_content để làm điều tương tự các the_content -function làm:

$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

Cảm ơn điều đó thực sự hiệu quả, nhưng nó hoạt động trên url trực tiếp chứ không phải khi tôi sử dụng ví dụ get_post_meta $ videourl = 'using post meta code here'; $ htmlcode = wp_oembed_get ($ videourl); echo $ htmlcode; –

+0

Cảm ơn rằng công trình tôi tìm ra trên một thứ hai. và làm thế nào để thay đổi chiều rộng và chiều cao của video nhúng –

+0

Tất cả các công trình cảm ơn "vstm" cho thời gian của bạn sir –

-1

đây là một câu trả lời hoàn chỉnh cho câu hỏi của bạn. Nó cũng là một phương pháp sạch hơn và nhanh hơn, sử dụng wp_oembed_get, thay vì shortcode. Tất nhiên, thay đổi video_url thành tên của trường tùy chỉnh của bạn.

Mã này kiểm tra xem trường video_url không trống, sau đó oEmbeds video.

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

Bạn phải thay đổi 'video_url' thành tên của trường tùy chỉnh của bạn, nếu không bạn sẽ nhận được' Gọi đến hàm undefined get() '. Tôi có mã chính xác này hoạt động trên 10 trang web, vì vậy tôi biết nó hoạt động ... Nó không phải là một đề nghị chưa được kiểm tra. –

+0

Câu trả lời không hoàn chỉnh nếu không triển khai trường tùy chỉnh. Nó vẫn không sạch hơn và nhanh hơn cái kia. –

Các vấn đề liên quan