Youtube OEmbed ширина не может быть больше 740px? - PullRequest
0 голосов
/ 02 мая 2011

Я пытаюсь использовать Функциональность 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
}

Я даже пытался использовать параметры width и height вместо / в дополнение к maxwidth и maxheight, но мне все еще не удается получить значение больше 740.

Есть ли способ обойти это, чтобы я мог получить встроенное видео в нужных мне размерах?

Ответы [ 4 ]

2 голосов
/ 29 июля 2011

Я не могу вставить свой код сюда,

Я использовал этот код для вставки видео на YouTube в WordPress с помощью пользовательских полей ...

Мне нужно было вставить видео в другойРазмер от оригинала.здесь вам нужно определить свой идентификатор YouTube и желаемую ширину

В конце я добавил несколько вариантов вставки YouTube

http://pastebin.com/KRwvSzqP

1 голос
/ 03 мая 2011

Недавно в Embedly добавлен способ указать width встраивания. Он позаботится о масштабировании для вас. Просто добавьте width=960 к вашему запросу.

http://api.embed.ly/1/oembed?width=960&url=http%3A//www.youtube.com/watch%3Fv%3DbDOYN-6gdRE&format=json
1 голос
/ 02 мая 2011

Я нашел обходной путь, который не так хорош, как хотелось бы, но он работает:

// 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);

Однако, если кто-нибудь может предложить более элегантное решение, я был бы более чем рад его услышать.

0 голосов
/ 03 сентября 2013

это старый вопрос, но я все равно поделюсь своими результатами ...

По умолчанию мои файлы 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.Надеюсь, это поможет кому-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...