6

私はカスタム投稿タイプ「ビデオ」を持っており、WPのデフォルトのoembedスクリプトを使用して、指定された領域にyoutube、dailymotionなどのビデオを表示したいと考えていました。だから私はカスタムフィールド「ビデオURL」を使用していますが、問題はカスタムフィールドではなくthe_contentoembedが機能することです。どうすればこれを行うことができますか。または他の解決策

4

2 に答える 2

14

カスタム フィールドに のような動画 URL のみが含まれている場合、wp_oembed_gethttp://www.youtube.com/watch?v=dQw4w9WgXcQを使用して oEmbed HTML コードを取得できます。

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

カスタム フィールドに URL 以外のものが含まれている場合は、the_contentフィルターを使用してthe_content-functionと同じことを行うことができます。

$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;
于 2013-02-18T05:29:25.637 に答える
-2

これがあなたの質問に対する完全な答えです。wp_oembed_getまた、ショートコードではなくを使用する、クリーンで迅速な方法でもあります。もちろん、video_urlカスタム フィールドの名前に変更します。

このコードは、video_urlフィールドが空でないことを確認してから、動画を oEmbed します。

<?php if (!((get('video_url', TRUE))=='')) {
    echo wp_oembed_get( get('video_url', true) );
}?>
于 2013-06-07T19:18:49.993 に答える