recent-articles2

WordPress Tutorial: Featured Images

 

This is a quick tutorial on how to get out featured images, which I use extensively on this blog (jasonernst.com). The featured image is what shows on the home page for the site, and on the individual entries. In the event that there is no featured image set for a given post, a default image is displayed instead.


An example of a featured image

For reference, I know this has worked since at least WordPress 3.0, but it may work with some earlier versions as well (I think earliest may be WP 2.9). This tutorial assumes you have some knowledge of how to work with php files, and have a basic idea of how WP templates work.

Step 1: Thumbnail Sizes
You may wish to have some different thumbnail sizes from the usual ones which WordPress generates automatically. You can change this in Settings->Media and adjust the sizes to your liking. This will allow you to control the large, medium and thumbnail sizes.

Since WordPress 2.9, you can actually create your own image sizes and names using the add_image_size function. You can just add this into your functions.php file within your template. For example, my featured post thumbnail size is 240×150 and I want the image to be cropped from the original (rather than stretched weirdly).

 

This is what I added to my functions.php (note the check for the function, so that we don’t break older WP versions):

if (function_exists('add_theme_support')) {
  add_image_size('featured-thumbnail', 240, 150, true);
}

Step 2: Customize the template
Here we check if there are any thumbnails generated, and if not display the default image. You could also do other things, such as display nothing, or ignore the post altogether if there is no thumbnail image. This is an example of the main thumbnail I use for my featured article on my home page (in my home.php template file). If there is no featured image set for the post, it displays a default image found in the template’s “img” folder. Note: this is done within “the loop”.

$postthumbnail = get_the_post_thumbnail($post->ID, 'single-post-thumbnail');
if(!isset($postthumbnail) || $postthumbnail == "")
  $postthumbnail = '<img src="'.get_bloginfo('stylesheet_directory').'/img/default.jpg" alt="'. get_the_title() .'"/>';

Step 3: Add the thumbnail images to the posts


Click the featured image link to set an image as the featured image

This is the easy part, all you have to do is upload some images to the library. After the image you want is in the library you can select is using the “show” link and then use the link to select “set as featured image”. You should now see it show up in your template.

One last note, a useful plugin…especially when you are still working out the sizes of your images is the WordPress Regenerate Thumbnails plugin. It will regenerate all of the images to the new size you have specified.

Update: I have now added another related tutorial on how you can use featured images to display a block of recent articles alongside the image for each article.

 

Recent Articles

Second Times a Charm?

Second Times a Charm?

April 10, 2013

After what seems like eternity, I have completed my second (and a half?)...

hostmonster-unix-2011-300x209

Hostmonster auto update IP address of subdomain

December 18, 2012

With my Hostmonster account, I host this website with my...

world_map

Blog stats

October 23, 2012

This blog has been running for quite a few years now and I got thinking...

 
Including Blogs in Tenure & Promotion

Including Blogs in Tenure & Promotion

October 23, 2012

Inspired by this blog post:...

46e33798ed2111e19b6422000a1e95d8_7

Recent Computer Related Events

September 19, 2012

The last few months have been crazy. I've had a couple of job...

icc2012

IEEE ICC 2012 – Ottawa

June 20, 2012

Last week I presented a paper at IEEE ICC, and since its been a while...