問題描述
如果我使用 WordPress 自動嵌入 YouTube 影片:
http://www.youtube.com/watch?v=Xog1T5dUxcw [/embed ]
</code></pre>
<p> 這是非常好的,但如果我在模板檔案中使用它不起作用。我有一個自定義欄位,管理員可以在 YouTube 影片中新增一個 URL 。我想使用以下程式碼在 sinle-post 中獲取影片:</p>
<pre><code><?php
$custom = get_post_custom($post->ID);
$url = $custom['_videoLink'][0];
?>
<div class="video">
<?php $url; ?>
</video>
如何使用標準的 WordPress 功能將 Youtube 網址轉換成嵌入網址?</p>
<br><h2> 最佳解決方案</h2>
<p> 改用<code>wp_oembed_get( $your_YouTube_url )</code> 。確保您的模板檔案中的<code>echo</code> 。所以這樣的東西。</p>
<pre><code><?php
$your_YouTube_url = 'https://www.youtube.com/watch?v=jofNR_WkoCE';
echo wp_oembed_get( $your_YouTube_url );
?>
</code></pre>
<br><h2> 次佳解決方案</h2>
<p> 通常,您必須在模板中使用<a href="/link.php?target=http%3A//codex.wordpress.org/Function_Reference/do_shortcode" target="_blank" rel="nofollow">do_shortcode</a> 才能在內容之外放置一個短程式碼,但是,我已經遇到嵌入式短程式碼的麻煩,無法使其工作。我發現這個解決方案是有效的,但是也許有一種方法可以用 do_shortcode 來做,而且我錯過了一些。</p>
<pre><code><?php
$custom = get_post_custom($post->ID);
$url = $custom['_videoLink'][0];
if($url):
$shortcode = ''.$url.'‘;
global $wp_embed;
echo $wp_embed->run_shortcode($shortcode);
endif;
?>
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。