我正在尝试使用Youtube's oEmbed functionality将视频嵌入到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
}
我甚至尝试使用width
和height
参数代替/ maxwidth
和maxheight
,但我仍然无法得到它大于740。
有没有什么方法可以解决这个问题,所以我可以获得我需要的尺寸的嵌入式视频?
答案 0 :(得分:2)
我不能在这里粘贴我的代码,
我已经使用此代码在自定义字段中插入youtube视频...
我需要插入与原始视频不同的视频。在这里,您需要定义youtube ID和所需的宽度
我在最后添加了一些youtube插入选项
答案 1 :(得分: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);
但是,如果有人能提出更优雅的解决方案,我会非常乐意听到它。
答案 2 :(得分: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
答案 3 :(得分:0)
这是一个老问题,但我认为无论如何我都会贡献我的发现......
默认情况下,我的Youtube文件嵌入640宽度,大于我的615内容宽度。
我将以下内容添加到我的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插件中的嵌入功能。希望这有助于其他人。