oEmbed, thumbnails and wordpress

WordPress has wp_oembed_get, which I use to get rich media content with embed.ly. I’ve previously used oEmbed api calls such as this. As you can see it provides thumbnail_url, which I like to use instead of embedding the video. How can I do this with wordpress?

Thanks!

Related posts

Leave a Reply

1 comment

  1. Use the oembed_dataparse filter to modify the resulting HTML output by any given oembed call.

    Example:

    add_filter('oembed_dataparse','test',10,3);
    
    function test($return, $data, $url) {
        if ($data->provider_name == 'YouTube') {
            return "<img src='{$data->thumbnail_url}'>";
        }
        else return $return;
    }
    

    Then putting this in a post:

    [embed]http://www.youtube.com/watch?v=oHg5SJYRHA0[/embed]
    

    Will give you a picture of Rick Astley instead of a flash video of him. 🙂

    Edit: Note that WordPress caches oEmbed results in postmeta. So after making your code, you’ll have to go and Update a post for it to know to go re-get the oEmbed data and have code like this take effect. In case you want to do testing and such.