Sử dụng bộ lọc [nhúng] trong tệp mẫu


9

WordPress sẽ tự động nhúng video youtube nếu tôi sử dụng:

[embed] http://www.youtube.com/watch?v=Xog1T5dUxcw [/embed ]

Điều này thật tuyệt, nhưng nó không hoạt động nếu tôi sử dụng nó trong một tệp mẫu. Tôi có một trường tùy chỉnh nơi quản trị viên có thể đặt URL cho video YouTube. Tôi muốn nhận video trong một bài đăng bằng mã sau:

<?php
  $custom = get_post_custom($post->ID);
  $url = $custom['_videoLink'][0];
?>
<div class="video">
  [embed]<?php $url; ?>[/embed]
</div>

Làm cách nào tôi có thể chuyển đổi URL Youtube thành URL nhúng bằng chức năng [nhúng] tiêu chuẩn của WordPress?

Câu trả lời:


14

Sử dụng wp_oembed_get( $url )thay thế. Hãy chắc chắn rằng bạn echotrong tập tin mẫu của bạn. Vì vậy, một cái gì đó như thế này:

<?php
// tot necessary to set this but good if $url is coming from a function
$url = 'https://www.youtube.com/watch?v=jofNR_WkoCE';

// echo the function in your template to render the video
echo wp_oembed_get( $url );
?>

Giải pháp dễ dàng và tốt nhất cho vấn đề này. +1
Sam

10

Thông thường, bạn phải sử dụng do_shortcode trong một mẫu để đặt một mã ngắn bên ngoài nội dung, tuy nhiên, tôi đã gặp sự cố với mã ngắn được nhúng cụ thể và không thể làm cho nó hoạt động theo cách đó. Tôi đã tìm thấy giải pháp này hiệu quả, nhưng có lẽ có một cách để làm điều này với do_shortcode và tôi đã bỏ lỡ điều gì đó.

<?php
$custom = get_post_custom($post->ID);
$url = $custom['_videoLink'][0];
if($url):
    $shortcode = '[embed]'.$url.'[/embed]';
    global $wp_embed;
    echo $wp_embed->run_shortcode($shortcode);
endif;
?>

Bạn cũng có thể lặp lại do_shortcode ($ shortcode)
keatch

@keatch - Bạn đã thử cách này cụ thể với embedshortcode của WP chưa? như tôi đã đề cập, mã cụ thể đó sẽ không hoạt động với tôi, trong khi các mã ngắn khác thường làm. Tôi đã không thực hiện nhiều điều tra tại sao. Điều này cũng không phải với phiên bản WP gần đây nhất.
Milo

1
Tôi biết điều này đã cũ, nhưng chỉ ra rằng tôi vẫn gặp vấn đề tương tự vào năm 2013 với mã ngắn nhúng không hoạt động trong các tệp mẫu. Các giải pháp trên làm việc tuyệt vời mặc dù.
Eckstein
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.