Here’s how you can make Twenty Twelve theme show excerpts instead of the full post. I’ll also show you how you can display a smaller thumbnail on the homepage, and remove the featured image from the single post view as well as add and customize a “Continue Reading” link.
Use a child theme
As always, it’s a good idea to create a child theme when making modifications to Twenty Twelve (or any default WordPress theme). Here’s a help article on how to crate one, there’s a blank child theme you can download at the bottom of the post. How to create a WordPress Child Theme
Once you’ve done that, copy content.php from Twenty Twelve to your child theme folder and open it.
Edit Template files
Open content.php and around line 33 find
1 |
<?php if ( is_search() ) : // Only display Excerpts for Search ?> |
This conditional tells your theme to display excerpts only for the search page. To make it also display them on the home page add is_home to it like this.
1 |
<?php if ( is_search() || is_home() ) : // Display Excerpts for Search and Homepage ?> |
Save and close content.php and refresh your site. You should see posts displayed as excerpts, but there’s more you can do.
The next part is totally optional. I’ll show you had to add a 140×140 thumbnail instead of the large one Twenty Twelve uses, and also how to display a “Continue Reading” link at the end of the excerpt.
Use a smaller thumbnail
Create a file called functions.php (if you already have one, add this next code to it) and open it.
We’re going to use a 140x140px size thumbnail so we need to tell WordPress to create this thumbnail size for any images that are uploaded.
Add this to your functions.php
1 2 3 4 |
<?php // Add 140x140 image size add_image_size('excerpt-thumbnail', 140, 140, true); |
Save functions.php but leave it open, there’s more code to add to it later.
Add new thumbnail to the loop
Open content.php and on line 34 fine
1 |
<div class="entry-summary"> |
Below this line add
1 2 3 4 5 6 |
<!-- Adds the 140x140 thumbnail/featured image --> <div class="excerpt-thumb"> <a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentytwelve' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"> <?php the_post_thumbnail('excerpt-thumbnail', 'class=alignleft'); ?> </a> </div> |
This adds the thumbnail to the excerpt, aligns it to the left and links to the post. I’ve also added a css class so you can style the thumbnail if you want. Use .excerpt-thumb to style it.
If you save content.php and refresh your site, you should see a smaller post thumbnail, but also see the normal featured image above the posts as well. This needs to be removed, so in content.php go to line 18 and remove this line.
1 |
<?php the_post_thumbnail(); ?> |
Save and close content.php and refresh your site. The large featured image should be gone, leaving only the left aligned 140x140px thumbnail. If you click on a post, the featured image should also be gone from there as well.
If you do want the featured image to display on the single post view as it does in the excerpt here’s how you can add it.
In content.php just below where we added the post thumbnail code, around line 41 find the line
1 |
<div class="entry-content"> |
Below it add
1 2 3 4 |
<!-- Adds 140x140 featured image to single post view --> <div class="excerpt-thumb"> <?php the_post_thumbnail('excerpt-thumbnail', 'class=alignleft'); ?> </div> |
Save and close content.php. You should see the left aligned post thumbnail in the content on the single posts page.
Adding the Continue Reading Link
By default the excerpt will only display […] at the end of the text. If you want a linked “Continue Reading” link instead, open functions.php and add this below the code we added earlier for the new image size.
1 2 3 4 5 6 7 8 9 10 11 |
// Remove the ... from excerpt and change the text function change_excerpt_more() { function new_excerpt_more($more) { // Use .read-more to style the link return '<span class="continue-reading"> <a href="' . get_permalink() . '">Continue Reading »</a></span>'; } add_filter('excerpt_more', 'new_excerpt_more'); } add_action('after_setup_theme', 'change_excerpt_more'); |
This removes the […] and replaces it with our own text, hyperlinks it to the post, and also adds a css class so you can style the link if you like.
Modify the text however you want, and use .continue-reading in your style sheet to customize the link.
Save and close functions.php and view your website. Here’s a preview of what it the finished results should look like.
If your thumbnail images are not displaying the proper sizes, it’s because WordPress hasn’t created that size images yet. You can fix this by installing one of my favorite plugins Ajax Rebuild Thumbnails and running it once. It can be deactivated after that.
This plugin simple creates the 140×140 image size (or whatever image size you selected) needed for previously uploaded media.
Hope this tutorial was helpful to you. Here’s a child theme with the above code already added, use it however you like.
Download
I have added the read more code in function.php but still not getting the link on feature post….pls help me out…my link : http://www.techyfreeks.com
Brill tutorial, how do i remove the Leave a reply link from the excerpts but show on the actual article.
Pingback: HOW TO DISPLAY EXCERPT ON BLOG PAGE – WORDPRESS TWENTY FOURTEEN THEME | Sociology Remix
wow! cheers mate , been looking for that solution for a while now, this was by far the simplest!!
Pingback: How to display excerpt on blog page – WordPress Twenty Fourteen Theme | Sociology Remix
YOU ARE AWESOME!! I was looking for all 3 of those solution. And i found it on your site thanks A LOT!
Hi and thanks for the tutorial, i’ve followed your instructions and i’m getting there slowly. However this part (below) doesn’t work for me because there is no such code on line 18 or anywhere else apart from the one we inserted oursleves on line 34:
“If you save content.php and refresh your site, you should see a smaller post thumbnail, but also see the normal featured image above the posts as well. This needs to be removed, so in content.php go to line 18 and remove this line.
Save and close content.php and refresh your site. The large featured image should be gone, leaving only the left aligned 140x140px thumbnail. If you click on a post, the featured image should also be gone from there as well.”
The large featured image is still there and i would like to remove it what can i do please? here is my email: [email protected]
Thank you so much again
Pingback: Display Excerpts in Twenty Twelve Theme | Jimmy Knoll
I really appreciate this post. I was trying to find a solutions for all the above. I found the 3 solutions that are needed for my blog. twenty twelve looks really professional for normal content blogs.
Thanks for the share.
Great Tut! Is there any way to display the first post in standard layout?
Hey, great tutorial… The only problem is that i only get 1 post on the FrontPage…. Normally i can change it at settings > reading… but if i change it there and i save it … it just doesn’t respond :O i’m just looking if i can change it in the code… but can’t really find it
Anyone with the same problem?
This was fantastic help, thank you very much, I really like the way you always write “Find the line” before telling us where to put the code.
It is very useful as some people overlook the fact that a lot of people trying to edit their files are completely new to it!
I have now successfully implemented it all into my posts page making my twenty twelve theme look neat and tidy!
Many Thanks
hi,
For Facebook, it takes at least a 200 x 200 pixel image, have here 140 pixels, not serious?
Thank you
Hey, nice tutorial… The only issue is I can not get the thumbnail image shown up
Hi Vivian, make sure you’ve added
under the entry title code.
Also make sure you’ve selected a featured image for your posts.
If you can’t get it working, post your code from functions.php, and content.php to pastebin.com and I’ll have a look.
What if I don’t want this to show up on the home page. My home page is a static page and I’ve assigned another page, blog, to display current posts.
hi , Is there a way also to include the title of the post next to the thumbnail image as well?
thanks
Thank you! I had a problem with WordPress after I installed a plugin. Deactivating the plugin didn’t fix it. Must have been a problem with the theme because when I activated the default 2012 theme, the site was back up, though not nice looking.
Some parts of my wp-admin pages were locking up so I decided to just do a fresh install. Your tutorials really helped! I’m glad I’m relying on the twenty twelve theme now instead of some free theme that was showing its age. And I finally learned how to make a child theme so I’m not as worried anymore if something goes wrong again, as long as all my posts are backed up. I have about 40% work left, but most of that is installing plugins and configuring plugin settings.
Thank you again. Your site has been a great help!
Your site has helped me when I had to create a child theme from scratch! Thank you. Special mention here: http://www.baratako.com/barat-ako-is-back-online/
If you don’t mind, how can I make sure the post excerpt on the front page doesn’t cut off the thumbnail? If you scroll down the front page, you’ll see that posts with not enough text have the horizontal lines cutting off the picture on the left. I’m using the Twenty Twelve theme and I followed your instructions above. The only changes were I set the image to 200 x 150 and 500 x 375. To reduce work, I’m setting all of my pics to 4:3 ratio moving forward to avoid cropping problems.
Thank you again. You’ve been such a great help.
I’m going to get some rest. I’ve been at this for 3 days straight with minimal sleep. I’ll be back in a few hours in case you have follow up questions. Thank you!
Hi Zeaks,
I have a problem with my twenty twelve theme, because I make a text box with image and i don’t know how put a “read more” for my text box ( this is not a post). I hope you can guide me to find a way. I let you my site http://www.cienciapsicologica.cl/directorio/
Thank you!
Hi Paula, could you post the code to your content loop on http://www.pastebin.com so I can have a look? I’m not sure I understand what you’re looking for.
This helped me TREMENDOUSLY!! I accomplished within 10 minutes what I’d been trying to find out how to do for an entire day!
Only question I have left is, how do you accomplish the following:
1. Place the title of the blog post at the top of the excerpt.
2. Place the title of the blog post at the top of the post?
Hi Nicki. The post title should already be there. The section in content.php that controls that looks like this starting around line 24
This basically says if it’s a single post (after you click the post) show the unlinked post title, otherwise display the post title linked to the post.
If you do not have this in your content.php you may have removed it by accident. You can post your content.php file at http://pastebin.com and link it here and I’ll take a look for you if you want.
Merci pour toutes ces actualités !