Amazing Grace is a lightweight, super-optimized WordPress theme packed with features. It uses 3 column layout for maximum accessibility and small digital footprint for minimum bandwidth usage and loading times. Now updated for WordPress 3.0 support!

Features
- Modern styled, SEO Optimized, Clean, 3 columns, Photo-friendly, Widget ready
- Valid XHTML/CSS document
- WordPress 3.0+ support (threaded comments, menu navigation system)
- Optimized for speed and loading time
- Out of box full SEO optimization including titles and page headings
- Out of box Social networking support
- Customized 404 page
- Adsense ready
- Plus much more..
Few words on the theme
The name comes from a popular tune called Amazing Grace. It is my favorite tune and it exactly describes how I feel about this theme. Find more about this beautiful song in Amazing Grace Lyrics, Chords and Movie.
When a theme is in question, I prefer ease of use and speed above everything else. That is why Amazing Grace uses optimized images, excerpts on home page (it helps generate more page views too), no javascript and "you can't miss 'em" navigation menus.
Additionally, I have fully optimized the theme for SEO so you do not have to worry about it. Just write your best stuff and the theme will take care of everything else.
Built in social bookmarking include Digg and del.icio.us.
Regarding design, I have hired a very talented designer called Magnus Jepson who did the initial design. I have taken it from there and after few months the theme came to it's final representation.
Images
Images used in the themes are provided as example only and have been obtained through Internet wallpaper sites without any known copyright information. They may be copyrighted by their respectful owners.
Installation & Usage
- Unpack this archive in your wp-content/themes/ directory.
- Go to Admin WordPress and select presentation.
- Select Amazing Grace
- You can also use Theme Test Drive plugin to see how the theme looks with your content before going live with it
Customization
Everyone has a different taste and there are couple of easy customization changes you can do to change Amazing Grace to suit your needs.
If you did not find what you need you can check out my WordPress Forums.
- Make sure to check the Ultimate guide to Amazing Grace, and also part 2
- Change the colors - You can download Amazing Grace psd file and change the graphics to your liking
- Adding rotating images in header (version 2.0 of the theme and up already has this implemented)
- Create images you want to rotate and put them in your images/folder under the names bg-portait1.jpg, bg-portait2.jpg and so on.
- Open your style.css and remove background reference from #portrait-bg section
- Enter this code in your header.php just below the stylesheet line (one beginning with link rel="stylesheet")
<style type="text/css">
#portrait-bg { background: url(<?php bloginfo('template_directory'); ?>/images/bg-portrait<?php echo (rand()%69); ?>.jpg); }
</style>- Replace "69" with your maximum picture number
- Preparing rotating images - You can read this tutorial. Alternately you can download the instructions by Sven Niemetz for a more flexible solution.
- Show Full Entries/Excerpts on index page - If you want full entries replace the_excerpt() with the_content() and vice versa. Changes should be applied to index.php and archives.php
- Display categories - Theme will display four categories by default. If you have more then this, you need to edit file header.php, and find wp_list_categories (at the bottom). This function controls how your categories are shown. You can include or exclude certain categories. Full description of the command is available here.
- Display pages - Pages are displayed also in header.php. You need to find a line with wp_list_pages. This command also allows you to include and exclude pages to show and you can read full description here. Alternatively, you can remove the command and just list pages manually one by one in the same way the Home page is listed in the line above.
- Change archives and categories excerpts to full posts - Edit archive.php and change "the_excerpt" with "the_content"
- Add AdSense (or any other) ads - You can add your AdSense code to ad_middle.php. Easiest way to insert ads into sidebar is to create a text widget, paste the adsense code into it and palce it anywhere on your sidebar
- Display Social bookmark buttons - If you want to display social bookmarks buttons, edit function.php, and remove 'return;' at the beginning of the file.
- Different Social bookmark sites - It is little trickier but generally can be done by changes in functions.php. You will need some icons too.
- Download Plugins - Find out about all the plugins I use to help you customize the theme further.
Change log
- Aug 02nd, 2008, v2.4 - Compatibility with 2.6 (mostly CSS changes).
- Jul 06th, 2008 v2.0: Added many visual tweaks and gravatar support.
- Feb 19th, 2008 V1.2: Fixed search issue, changed stylesheet to reflect recent changes on the blog
- Jan 18th, 2008 v1.1: Added hover background for entry links; fixed footer link colors; maximum of five categories displayed by default; category drop down boxes styled
- Jan 13th, 2008 v1.0: Initial release
License
Amazing Grace theme is released under GPL License.
You may freely remove footer links if they bother you.
Reviews
- Very nice review by Ryan of Theme Playground
- Jaypee gave it a thumbs up at Jaypee Online
Services
See my WordPress Consulting Services page for more information and rates.






665 Comments
Hi!
first of all, great theme you have create, its fantastic!
Im trying to fix this rotate image and have some small problem an I really hope you or anyone else can be kind to help me.
First of all I created 7 images named "bg-portait1.png" and so on up to "bg-portait7.png". I have put them in the image-folder.
But when I come to the other things I need to do I have little more problem. first: Should I remove the whole "background: url(/images/bg-portrait.jpg);" line? or what exactly should I remove from this code?
"#portrait-bg {
position:absolute;
>> background: url(/images/bg-portrait.jpg);<< (?)
width:319px;
height:221px;
right:0;
top:0;"
the second: in the code; "style type="text/css">
#portrait-bg { background: url(/images/bg-portrait.jpg); }
</style
" should´t be ".png" when I saved my images as "bg-portait7.png"? and in the "%69" i wrote just "%7" becouse I have 7 pictures.
It would really be kind of you if you could help me with this.
Best regards Tommy
I love it, I have used it on my blog, I hope you don't mind that I've customised it.
Thanks for your hard work.
Dawn
Mark, thanks for your compliments and stop by if you have some questions regarding the theme.
Dear Vladimir,
Thanks for a really nice and functional theme. I am a complete newby to WordPress and blogging in general. Your theme was very easy to set up and your instructions very helpful. Congratulations for an excellent contribution.
Samulli: Happy to help!
Thank you, Matt, that solved the problem.
And thanks for the link to that plugin. It is such a relief to not having to look into phpMyAdmin anymore each time I needed to find out a category- or page-ID. :-)
Samulli:
First, download and install the pluging Reveal IDS for WP 2.5 Admin, available here:http://www.schloebe.de/wordpress/reveal-ids-for-wp-admin-25-plugin/#english
This will make life a lot easier because it will reveal the ID numbers you need to make include= and exclude= work.
Once the plugin is installed and activated, go to Manage Pages. You will now see the ID numbers of each page. Simple list the numbers of the pages you want included after include= (but before the &) to show the ones you want. For example, to include the pages with ID numbers 1, 2, 3, 5, and 8, you would have "include=1,2,3,5,8".
Hope that helps.
Vladimir,
thank you for this amazing theme. I think it is one of the best free themes I have found so far and I will soon implement it on my blog.
For the moment I am still customizing it on my testblog - thanks also for your customization tips, they have helped me a great deal. :-)
I only ran into two little problems so far:
1. I have implemented the rotating images and while it works fine most of the time, sometimes no image at all appears when I load the page. Do you have any idea what could be the reason for that? It's not really a big deal, since the header works just as well without an image (it just looks a bit empty), I'm just curious as to how that could happen.
2. I have several pages on my blog, but I want only 6 of them to appear in the top row of the header. At the moment I have managed to hide the others by assigning them a lower rank (they are all nested under my About page). And while that works for the header, it looks kind of strange when I list all of the pages in the sidebar. How exactly do I have to edit the "include=" section to list only the ones I want to see? (Sorry if that is a dumb question, but I have no clue about PHP) ;-)
Thanks for the kind words, they are the best donation to me.
I am glad that this theme still has so many followers.
Take care!
Vladimir,
I REALLY like your theme. Even the name (Amazing Grace) fits in PERFECTLY with my blog mission.
While the theme looks nice, has great features, and a good flow; what I really appreciate is the time you spend assisting others with your expertise so that they can take full advantage of its benefits.
At this time, my blog is still under development. Occasionally, I visit in order to get advice from you or others in the comment section regarding a coding difficulty. It's a great resource that adds great value to your theme.
Perhaps you might want to consider putting a donate button on this page so that others can tangibly express their appreciation. You deserve it!
God Bless You Abundantly!
I have a small problem with your theme. Actually it's a request rather than a problem. I want to use excerpt only in the homepage. I mean, the last post(so the first post in them homepage) will be shown fully and the rest will be shown as an excerpt. But in your theme when I go to second page again the first post is shown fully. I dont want it to be. So is there a way to show only the last post in homepage "full" and the rest are as excerpt.
Johnathan, I was about to answer you but that way I would deprive you of sensation of discovering, so I waited a little more ;)
Doh! , sorry guess i should have read better huh lol
I am finding one problem..
When I create new pages, they do not show up in the very top nav.. I havent edited anything, what could the problem be?
Hi Vladimir,
I'm sure it is obvious, but there isn't an "header.jpg" in the image file. I just would like to make a few minor changes to the header graphic itself (I think I understand the photo part). Would I upload my own "header.jpg" in the image file and then make changes in the css stylesheet?
I apologize if you've answered this already. Thank you for your help, and again, really great theme.
Robyn
@Vladimir I tried using that highlight author's comments plugins, but either it was ignored or the alternating formatting trumps it somehow. That link you provided looks like just the ticket, though. Thanks.
I would like to see a matching theme for bbpress (bbress.org)
@Matt : Why don't you try using that plugin? If it doesn't not work you can surely find useful information on modifying the comment code. Out of top of my head, you will have to put a different class id for author comment and then have it described in CSS. Here is one good tutorial http://5thirtyone.com/archives/774.
I will probably be doing that for Amazing Grace when time permits, so if you have patience..
@Robyn: Images should be replaced in images/ folder. As for second you can kindly ask Ryan or follow the instructions I provided for predefined images like on my site.
Hi Vladimir,
This is a fantastic theme! I love the combination header with photos. I am just really happy to have found it.
I have two questions (not very good with coding, so bear with me):
1. Once you change the psd file, where do you load it?
2. Ryan at Theme Playground hasn't described how he uses his flickr feed for his images. Do you know how he did that? Would that information go in header php?
Thanks!
Robyn
Vladimir, thanks for your response and the link to the plugins you use. There are a couple there I wasn't using but am now.
I have another question: How do I modify the comments.php code so instead of alternating comments changing appearance, user comments have one appearance and author comments have another (highlighted) appearance? I'm looking for an effect similar to that created with the Highlight Author Comments plugin (http://rmarsh.com/plugins/highlight-comments/).
Thanks!
Cool! Thank you so much. Btw, everyone liked your theme, great work.
By the power of css! You can do that too if you find in theme stylesheet .entry img and replace margin-bottom line with
margin: 0pt 10px;
Thank you. But how other themes handle this? I never add horizontal space to my images before.
Vladimir, the theme looks very good. I am going to give it a try as well as the Theme Test Drive plugin. Thanks for sharing.