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