Making YouTube Thumbnail as Post Thumbnail in WordPress


Creating video thumbnail can be tricky on WordPress. You will need to add new meta on your post so that the post writer can insert the video ID and update the whole post. This time the key of the post meta that I used is video_id. Have a look on the code! 😀

function store_vid_info($post_id){
    if(($_POST['post_status'] == 'publish') && (in_category('video', $post_id))) {
        $vid_id = get_post_meta($post_id, 'video_id'); /* needed to take meta data. The return will be in array */
        $url = "https://gdata.youtube.com/feeds/api/videos/" . $vid_id[0] . "?v=2&alt=jsonc";

        $content = json_decode(file_get_contents($url)); /* If you use curl, then the header will be overrode and result in error. */

        $post = array(
            'ID' => $post_id,
            'post_content' => "" /* This line will insert the video in iframe to the post content */
        );

        /**
         * This will update the post meta (if exist in case of editing post) and will add it.
         * You can change the code to really insert the YouTube thumbnail into your WP thumbnail.
         * I add  the image to a new meta because I'm afraid the theme did not support post thumbnail.
         * If it is, then feel free to change to code.
         */
        if (!update_post_meta($post_id, '_video_thumb', $content->data->thumbnail->hqDefault))
            add_post_meta($post_id, '_video_thumb', $content->data->thumbnail->hqDefault);

        wp_update_post($post);
    }
}

add_action('publish_post','store_vid_info'); /* This will hook the function that we have just made to WordPress publish */

Feel free to give comments and feedback 🙂

Advertisements

Author: Aditya Yedija Situmeang

Developer, Lover, Christian, Omnomnomnivore, Gamer.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s