I used this changes to functions.php that are written in this post: TED talks shortcode not working

But I can't figure out how to control the size/ratio now. The video is embedding as way taller than it is wide. Any fix for this??

  • Have you made any effort at fixing this yourself?
    – s_ha_dum
    Jan 14, 2013 at 21:37
  • I looked at the php fix and wasn't sure how to add in size conditions. I don't know how to write that.
    – Jess
    Jan 14, 2013 at 23:36
  • We have to dig into other Questions/links to find the actual code you are using? And probably will not be exactly as you are using it... Please, post the relevant code to the Question itself.
    – brasofilo
    Jan 15, 2013 at 7:55

1 Answer 1


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:

    $atts['width']=600; // Default width
    $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:
     $atts['width']=600; // Default width

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.