In your work.php code sample you are calling
get_post_meta( $post->ID, 'the_post_thumbnail', true)
This has nothing to do with WordPress post thumbnails and is looking for a custom field with the post meta key ‘the_post_thumbnail’
For more info see:
To get the src url of the featured image attached to the post and use WordPress post thumbnails
change:
<?php $image = get_post_meta($post->ID, 'the_post_thumbnail', true); ?>
to:
<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ));
when you echo the image:
<img src="<?php echo esc_url( $image[0] ); ?>" alt="View more info" />
The reason the array index [0] is added to $image is because wp_get_attachment_image_src returns an array(
[0] = img url attribute
[1] = img width
[2] = img height
)
To fix your php error add the missing }
after your if_function_exists() {
block.
Note: Unless your trying to make your theme backwards compatible to WordPress version 2.9 or earlier there is no need to call if_function_exists()
on add_theme_support()
or register_sidebar()