ted talks embed fixed, but can’t control size

You can control the size of the embedded TED video by using the shortcode:

[ted id="1650" width="300" height="200"]

If you want to have it predefined, you can use:

if(!isset($atts['width'])){
    $atts['width']=600; // Default width
}
if(!isset($atts['height'])){
    $atts['height']=400; // Default height
}

so the code here will be:

// Whitelist the TEDTalks oEmbed URL
wp_oembed_add_provider( 'http://www.ted.com/talks/*', 'http://www.ted.com/talks/oembed.json' );

function ted_shortcode( $atts ) {
    // We need to use the WP_Embed class instance
    global $wp_embed;

    // width:
    if(!isset($atts['width'])){
     $atts['width']=600; // Default width
    }  

    // height:
    if(!isset($atts['height'])){
     $atts['height']=400; // Default height
    }

    // The "id" parameter is required
    if ( empty($atts['id']) )
        return '';

    // Construct the TEDTalk URL
    $url="http://www.ted.com/talks/view/lang/eng/id/" . $atts['id'];

    // Run the URL through the  handler.
    // This handler handles calling the oEmbed class
    // and more importantly will also do the caching!
    return $wp_embed->shortcode( $atts, $url );
}
add_shortcode( 'ted', 'ted_shortcode' );

Leave a Comment