0

Youtube の oEmbed 機能を使用して 960x580 でビデオを埋め込むようにしようとしていますが、何らかの理由で 740 で限界に達しているようです。以下を参照してください。

リクエスト:

http://www.youtube.com/oembed?url=http%3A//www.youtube.com/watch%3Fv%3DbDOYN-6gdRE&format=json&maxwidth=960&maxheight=580

応答:

{
    "provider_url": "http:\/\/www.youtube.com\/",
    "title": "1 of 4 Dr. Bill Lands on Cardiovascular Disease: Omega-6 displaces Omega-3",
    "html": "\u003cobject width=\"740\" height=\"580\"\u003e\u003cparam name=\"movie\" value=\"http:\/\/www.youtube.com\/v\/dgU3cNppzO0?version=3\"\u003e\u003c\/param\u003e\u003cparam name=\"allowFullScreen\" value=\"true\"\u003e\u003c\/param\u003e\u003cparam name=\"allowscriptaccess\" value=\"always\"\u003e\u003c\/param\u003e\u003cembed src=\"http:\/\/www.youtube.com\/v\/dgU3cNppzO0?version=3\" type=\"application\/x-shockwave-flash\" width=\"740\" height=\"580\" allowscriptaccess=\"always\" allowfullscreen=\"true\"\u003e\u003c\/embed\u003e\u003c\/object\u003e",
    "author_name": "LatestNutrition",
    "height": 580,
    "thumbnail_width": 480,
    "width": 740,
    "version": "1.0",
    "author_url": "http:\/\/www.youtube.com\/user\/LatestNutrition",
    "provider_name": "YouTube",
    "thumbnail_url": "http:\/\/i1.ytimg.com\/vi\/dgU3cNppzO0\/hqdefault.jpg",
    "type": "video",
    "thumbnail_height": 360
}

andに加えて / の代わりにwidthandheightパラメーターを使用してみましたが、それでも 740 より大きくできないようです。maxwidthmaxheight

これを回避して、必要なサイズで埋め込みビデオを取得できる方法はありますか?

4

4 に答える 4

2

ここにコードを貼り付けることができませんでした。

カスタムフィールドを使用してワードプレスにYouTubeビデオを挿入するためにこのコードを使用しました...

元のサイズとは異なるサイズのビデオを挿入する必要がありました。ここで、YouTube ID と目的の幅を定義する必要があります

最後にYouTube挿入オプションをいくつか追加しました

http://pastebin.com/KRwvSzqP

于 2011-07-29T05:41:21.823 に答える
1

Embedly は最近width、埋め込みの を指定する方法を追加しました。それはあなたのためにスケーリングを処理します。width=960リクエストに追加するだけです。

http://api.embed.ly/1/oembed?width=960&url=http%3A//www.youtube.com/watch%3Fv%3DbDOYN-6gdRE&format=json
于 2011-05-02T20:43:11.013 に答える
1

私は回避策を考え出しましたが、これは私が望むほどきれいではありませんが、うまくいきます:

// Because for some reason Youtube won't allow oEmbed widths greater than 740, so force it to use the proper dimensions
function force_oembed_dimensions($data, $url, $args = array()){
  if (VIDEO_WIDTH > 740)
    $data = preg_replace(array('/ width="\d+"/', '/ height="\d+"/'), array(' width="'.VIDEO_WIDTH.'"', ' height="'.VIDEO_HEIGHT.'"'), $data );
  return $data;
}
add_filter( 'oembed_result', 'force_oembed_dimensions', 10, 3);

ただし、誰かがよりエレガントなソリューションを提案できる場合は、喜んで聞いてください。

于 2011-05-02T19:12:00.507 に答える
0

これは古い質問ですが、とにかく私の発見に貢献すると思いました...

デフォルトでは、Youtube ファイルは 615 コンテンツ幅よりも大きい 640 幅で埋め込まれていました。

functions.php ファイルに以下を追加しました。

// Restrict width of Wordpress auto embed objects
add_filter( 'embed_defaults', 'pstv_new_embed_size' );

function pstv_new_embed_size() {
    $embed_size['width'] = 615; // Enter Max width of your content area
    $embed_size['height'] = 500; // Enter Max height for embedded objects
    return $embed_size; // Return new size 
}

Jetpack プラグインの埋め込み機能を無効にするまで、最初はこれでも機能しませんでした。これが他の誰かに役立つことを願っています。

于 2013-09-03T12:13:03.383 に答える