web-dev-qa-db-ja.com

指定幅でViddler oEmbedが機能しない

私はoEmbedを使ってビデオを埋め込むウィジェットに取り組んでおり、WordPressのデフォルトプロバイダーを使ってテストしています。これまでのところ、Viddlerを除いて、それらはすべてうまく機能しています。ビデオは表示されますが、指定した幅と高さでは表示されません。

ウィジェットでウィジェットを正しく動作させるために、私はwp_oembed_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_oembed_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;

これはうまくいきますが、これが私がWPまたはViddlerに報告すべきバグであるかどうか疑問に思います。 WP Core(wp-includes/class-oembed.php)では、ViddlerのURLフォーマットは次のとおりです。

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

それは私が上で持っているものに変えられるべきですか?

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

この問題を抱えている人はいますか?

1
Slushman

はい、viddlerはそのエンボディッドエンドポイントを変更したようで、古いものからのリダイレクトはmaxwidthを削除しています。

私は問題についてのコアチケットを作りました: http://core.trac.wordpress.org/ticket/24296

0
Otto