Move from old custom field to new post_thumbnails

Had the same issue last week and here is what i did:

if (has_post_thumbnail()) 
    //if the post already has a post thumbnail then just use that
    the_post_thumbnail($size="post-thumbnail", $attr="");
else{
    //if not then convert the custom field to the post thumbnail and display that
    $at_url = get_post_meta($post->ID, 'image', true);
    $at_id = get_image_id_by_url($at_url);
    delete_post_meta($post->ID, 'image');
    if ($at_id){
        set_post_thumbnail($post, $at_id);
        the_post_thumbnail($size="post-thumbnail", $attr="");
    }else{
        //else just display a default image or not :)
    }
}

Leave a Comment