A fun part of customizing Wordpress themes is designing a comments format which complements the rest of the site. Here are three examples from recent projects, including code samples and downloads to the original .PSDs:
- Green Gravatars
This comment style was part of a very green-and-beige environmental blog which since received a makeover. It requires the gravatar plugin and three different images: the scanlines, the clock and the gradient, which can be exported from your .PSD.
First, we’ll need to first edit the ordered-list section of the “comments.php” template:
<ol class="commentlist"> <?php foreach ($comments as $comment) : ?> <li <?php echo $oddcomment; ?>id="comment-<?php comment_ID() ?>"> <cite> <img src="<?php gravatar("R", 32); ?>" alt="" /> <span class="author"><?php comment_author_link() ?></span><br /><span class="time"><?php comment_time() ?></span> on <a href="#comment-<?php comment_ID() ?>" title=""><?php comment_date('F jS, Y') ?></a> <?php edit_comment_link('edit',' ',''); ?> </cite> <div class="commenttext"><?php comment_text() ?></div> <?php if ($comment->comment_approved == '0') : ?> <em>Your comment is awaiting moderation.</em> <?php endif; ?> </li> <?php /* Changes every other comment to a different class */ $oddcomment = ( empty( $oddcomment ) ) ? 'class="alt" ' : ''; ?> <?php endforeach; /* end for each comment */ ?> </ol>Aside from a few images, the rest of the styling is accomplished with CSS:
ol.commentlist { margin:0; padding:0; } .commentlist li { list-style:none; margin-bottom:14px; } .commentlist cite { padding: 7px; display:block; font-style:normal; background:url(http://www.yoursite.com/images/bg_comments2_cite.gif); border-top:1px solid #d6e4c1; border-bottom:1px solid #779d42; color:#596e3b; } .commentlist a:link, .commentlist a:visited { color:#596e3b; } .commentlist a:hover, .commentlist a:active { color:#8ec343; } .commentlist cite img { padding:1px; border:1px solid #aab59a; float:left; margin-right:9px; } .commentlist .author { font: small-caps bold 1.2em Georgia, "Times New Roman", Times, serif; text-decoration:underline; } .commentlist .time { background: url(http://www.yoursite.com/images/bg_clock.gif) no-repeat 1px; padding-left:13px; } .commenttext { background: #9bc561 url(http://www.yoursite.com/images/bg_comments2_text.jpg) repeat-x bottom; border-top:1px solid #c5f386; padding: 0 20px 10px 20px; color:#fafcf6; }Keep in mind, each of these examples uses ems for font sizing, so your existing CSS may need to be tinkered with to match the screenshot above.
- The Speech Bubble
I designed this comment style for my company’s website. It requires two images, the quote marks and the little curl. The relevant template code looks like this:
<ol class="commentlist"> <?php foreach ($comments as $comment) : ?> <li <?php echo $oddcomment; ?>id="comment-<?php comment_ID() ?>"> <div class="quote"><?php comment_text() ?></div> <?php if ($comment->comment_approved == '0') : ?> <em>Your comment is awaiting moderation.</em> <?php endif; ?> </li> <cite><?php comment_author_link() ?> on <a href="#comment-<?php comment_ID() ?>" title=""><?php comment_date('F jS, Y') ?> at <?php comment_time() ?> <?php edit_comment_link('edit',' ',''); ?></a></cite> <?php /* Changes every other comment to a different class */ $oddcomment = ( empty( $oddcomment ) ) ? 'class="alt" ' : ''; ?> <?php endforeach; /* end for each comment */ ?> </ol>And here is the CSS:
.commentlist .quote { background:url(http://www.yoursite.com/images/bg_quote.gif) no-repeat top right; } .commentlist li { padding: 5px 18px 22px 18px; margin-top:15px; background:#454545 url(http://www.yoursite.com/images/bg_commentlist.gif) bottom no-repeat; color:#e4edee; } .commentlist cite { display:block; font-style:normal } .commentlist cite a:link, .commentlist cite a:visited { color:#88e5f0; text-decoration:none; } .commentlist cite a:hover, .commentlist cite a:active { color:#FFF; text-decoration:underline; } - Alternating Arrows
This comment styling originated from a music magazine I mocked up but never quite launched (so feel free to use it). I don’t always make use of the “.alt” class for comments, but it’s handy here for making the arrow and colors alternate. The images used are two different “paint” effects, the diagonal pattern, the chainlink and two kinds of arrows.
Here is the template code:
<ol class="commentlist"> <?php foreach ($comments as $comment) : ?> <li <?php echo $oddcomment; ?>id="comment-<?php comment_ID() ?>"> <div class="commenttext"> <cite><?php comment_author_link() ?></cite> <?php comment_text() ?> <span class="date"><img src="/images/commentlink.gif" alt="" /> <a href="#comment-<?php comment_ID() ?>" title=""><?php comment_time() ?> on <?php comment_date('n/j/y') ?></a></span> <?php edit_comment_link('edit',' ',''); ?> </div> <?php if ($comment->comment_approved == '0') : ?> <em>Your comment is awaiting moderation.</em> <?php endif; ?> </li> <?php /* Changes every other comment to a different class */ $oddcomment = ( empty( $oddcomment ) ) ? 'class="alt" ' : '';?> <?php endforeach; /* end for each comment */ ?> </ol>And here is the CSS:
ol.commentlist { margin:0; padding:0; } .commentlist li { margin-bottom:8px; background: #60360b url(http://www.yoursite.com/images/comment_arrows.gif) bottom no-repeat; color:#FFF; list-style:none; width:413px; } .commentlist .commenttext { background:url(http://www.yoursite.com/images/bg_paint.gif) no-repeat; padding:22px 22px 50px 22px; } .commentlist cite { display:block; color:#FFF; font-weight:bold; text-transform:uppercase; font-style:normal; background:url(http://www.yoursite.com/images/bg_cite_arrows.gif) bottom repeat-x; padding-bottom:12px; font-size:1.1em; } .commentlist a:link, .commentlist a:visited { color:#fff9b9; } .commentlist a:hover, .commentlist a:active { color:#FFF; } .commentlist .date { background:#930e27; padding:3px; } li.alt { background:#836241 url(http://www.yoursite.com/images/comment_arrows_alt.gif) no-repeat bottom; } li.alt .commenttext { background:url(http://www.yoursite.com/images/bg_paint_alt.gif) no-repeat; } li.alt .date { background:#67421c; padding:3px; }
Follow me on Twitter
6:17 am
Thanks for sharing your work.
9:31 am
knlknlknl
6:18 pm
cute !!
8:47 am
Thanks ! It will help a lot :)
2:28 pm
thank u for sharing !! :D
12:50 am
nice
6:53 am
Thanks for this :)
6:47 pm
asasdasda
4:21 pm
yay!
9:16 am
Thx mate for the tutorial. But please check your code. There are some typos in it.
Ex: id=”comment-”
should be
” id=”comment-”
9:21 pm
Beautiful styling! I’m determined to make this work, though I must admit I’ve spent quite a while trying to identify the errors. I keep getting Parse Error codes and the only changes I made was add this code. *sigh*
3:00 pm
I just wanted to send you a quick hello and a thank you for this very useful article. I found myself searching through the web looking for some kind of tutorial, or at least a website, that covered the structure of the comments.php.
Feel welcome to take a peek (and more than welcome to have a bash at making author comments stand out; my style.css has a worrying mish-mash of your code and the original that causes headaches).
I digress. Thanks once again for the useful guide. Credit where credit’s due.
3:18 am
Using white-space in comments?
Test 2 “nbsp”
2:39 pm
how would you do the comments so that the comments and trackbacks are seperate?
12:34 pm
how do you do italics
1:34 am
Darren, you rock! Thank you very much for the tutorials. More power to you!
4:40 am
This post is a great help to me. Thanks for all.
5:25 am
Hi, I have a typepad account and I was wondering if anyone new of a tutorial that went step by step to show how to style the comment section. The above is great but I’m a complete novice and need a bit more explaining. Thanks so much !
9:18 am
Darren, this is a huge help to get on the way understanding the inner working of comments. I have trashed dozens of themes in my time because I didn’t like how the comments and input boxes were styled.
One question: How can you distinguish between the author/blog representative and other commenters to allow a visitor to see that particular comments are the blog’s stance? I think that would be a terrific modification to the gravatar style (i.e., change the background color for the blog owner).
Thanks!
10:30 am
Very nice blog design and layout!
1:52 am
Thanks so much for taking the time to write this post. I was able to implement it with no problems whatsoever. Big up!
4:04 pm
Hi there,
I am trying to implement this idea in my website but for some reason the numbers are not showing up against the comments. What code would allow me to do this or what code might be preventing this?
Thanks
4:16 pm
Thanks for your great help!
8:49 am
Great!!
9:32 pm
Óõ òû ,êë¸âî !
6:07 am
thank you i am downloaded good job.
3:11 am
Great work,Thank you for tharing it!
5:55 am
The Info very help me, thank a lots.
1:27 pm
Thanks!
3:29 pm
Thanks for your great help!
4:47 am
Welcome to http://www.yogawww.com . We provide for all your chinese-cross-stitch,cross-stitch, yoga videos, yoga books, yoga clothing, yoga mats and the latest yoga news,yoga classes yoga photo,
8:11 am
thank you…
4:00 pm
Hello -
Thanks for these! They are nice, I was wondering – I’d like to use the last one, but when an author posts a comment (me), I’d like it to show a different styled comment. Is this possible? If so, how?
Hope you can help me out – Thx,
Josh Budde
8:16 am
@josh: this technique works well for me.
10:59 am
Ух ты, здоровÑко!
11:53 am
Мне Ñта инфа пригодитÑÑ!
4:16 am
Hi…I love these comment formats, but I guess I am not skilled at WP and css yet to get them to work.
I wanted to use the speech bubble design. I got the images loaded and what not, but a lot of the style from my original comment formatting was still there. I replaced the in my comment.php file and added the css to my style.css file.
I guess I need to delete something else from one or both of those files? I am using Revolution Pro Media them.
Actually, I might prefer the green gravatar style commenting style as well.
I’d gladly link back to or digg or stumble anyone who can help me get either of those comment systems working.
Thanks.
7:10 am
Thank u 4 sharing this!! it will help a lot on my blog! Thanks again! (^_^)
3:28 pm
Nice avatar!
9:49 pm
This is what I’ve been looking for so far!!!
Thanks a lot for sharing your stuff :b
6:23 am
Hi..and sorry, but my english´s very bad.
Many thnxs for share u work my friend. Very usefull for me. Only one question..how to “alt” commentlist cite?
Thanks anyway
7:30 am
Np now..i added:
<cite >
and “cite.alt” into css stylesheet, and work fine now.
Thanks anyway
5:40 am
Great work
Thank you for tharing it …!
5:41 am
thank you…
2:50 pm
This is extremely useful, since Wordpress has picked up speed to be the complete CMS system for websites. It is now not uncommon to see a whole website right on the Wordpress platform.
1:54 am
thanks…
4:17 pm
Wow Cool !
Super Man
Nice Site
7:29 pm
Thanks so much for taking the time to write this post. I was able to implement it with no problems whatsoever. Big up!
7:24 am
Thanks for giving information about Word Press. It is very helpful for us
2:09 am
je vous remercie pour ces imaes :)
12:22 am
can you let us know how to paginate a wordpress theme like digg?
plleaseeeeeeee!!!!!!!!!!!!!!!!!!!!!
5:04 pm
How would you go about displaying the author’s comments in a different style?
Thanks!
12:35 am
Can you just add the design to my website and make the changes I want so I don’t mess up your lovely design? This is a wonderful theme and I love it, but I feel so confused by it.
Nancy
6:50 pm
[...] Styling Your Wordpress Comments [Tuto] Voici un tutoriel (+ressources à télécharger) qui vous donne 3 manières de faire une mise en forme originale
6:50 pm
thank you
6:45 am
Great dude!
I’m gonna be doing a makeover to my comments section thanks to your tutorial.
Thanks a lot!
11:36 am
Nice Thanks!
8:37 am
Thanks so much for taking the time to write this post. I was able to implement it with no problems whatsoever. Big up!
8:36 pm
Hi Darren,
I have a question on how you achieved the html formatting buttons on your comments form on this page? I’m trying to do something similar & wondered if this were a plugin or your own code?
Any advice would be very much appreciated.
8:37 pm
Hi Darren,
I have a question on how you achieved the formatting buttons on your comments form on this page? I’m trying to do something similar & wondered if this were a plugin or your own code?
Any advice would be very much appreciated.
2:15 pm
Thanks Great work!!