Viddler或嵌入不能以指定的宽度工作

时间:2013-05-09 作者:Slushman

我正在开发一个使用oEmbed嵌入视频的小部件,并使用WordPress中的默认提供者进行测试。到目前为止,除了维德勒,他们都工作得很好。将显示视频,但不会显示我指定的宽度和高度。

为了让oembed在小部件中正常工作,我使用了wp\\u oembed\\u get()函数,该函数需要视频的URL和可选的宽度和高度数组。

// Test Data:
$url = \'http://www.viddler.com/v/bdce8c7\';
$width = \'250\';
$height = \'140\';

echo wp_oembed_get( $url, array( \'width\' => $width, \'height\' => $height ) );
这将生成尺寸为620 x 349的视频。我已经找到了解决方法,但是wp\\u oembed\\u get()应该能够为我完成所有这些,对吗?以下是我总结的内容:

require_once( ABSPATH . WPINC . \'/class-oembed.php\' );

// $service is detected by parsing the URL for the host
if ( $service == \'viddler\' ) {

    $oem    = _wp_oembed_get_object();
    $json   = \'http://www.viddler.com/oembed/?format=json&url=\' . urlencode( $url );
    $return = $oem->fetch( $json, $url, array( \'width\' => $width, \'height\' => $height ) );
    $oembed = $return->html;

} else {

    $oembed = wp_oembed_get( $url, array( \'width\' => $width, \'height\' => $height ) );

}

return $oembed;
这是可行的,但我想知道这是否是一个bug,我应该向WP或Viddler报告。在WP核心(WP includes/class oembed.php)中,Viddler的URL格式为:

http://lab.viddler.com/services/oembed/

是否应该将其更改为我上面的内容?

http://www.viddler.com/oembed/

还有其他人有这个问题吗?

1 个回复
最合适的回答,由SO网友:Otto 整理而成

是的,似乎viddler更改了他们的oembed端点,而旧端点的重定向正在剥离maxwidth。

我就这个问题开了一张核心罚单:http://core.trac.wordpress.org/ticket/24296

结束

相关推荐

在编辑器中添加oEmbedded代码的标记?

有没有办法在可视化编辑器中为oEmbed代码提供特殊标记?在my dream实现中,您可以在编辑器中粘贴一个启用oEmbed的url,然后编辑器会自动将其替换为要插入的媒体对象的缩略图。一个基本的实现至少会突出显示URL,以便用户知道那里可能会发生“特殊情况”(if no errors occur).有没有这样的插件?我可以自己创建这样的东西,但我需要一些关于如何以最具WordPress风格的方式连接到TinyMCE编辑器的指针。