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
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!!
8:13 pm
very nice, thank you
9:30 am
This will help a treat ! THanks for sharing… Rob
10:30 pm
thx for this, im gonna test it on my blog, :) !
12:54 pm
Awesome tutor and examples. I choosed green style and implemeted it on my blogs. Thank you for your effort. Keep up writting other tips.
3:14 pm
Thank you i just downloaded it and i liked styling comments would be very useful at my blog.
8:27 am
awesome post! i have styled my comments using your tutorial! :-)
10:27 am
Sweet!!
1:19 am
[url=http://online-seek.net/make-watches/rado-watches-home.html]replica watches corum bridge of gold[/url]
[url=http://online-seek.net/top-replica-warches/watchid674.html]baby g shock watches[/url]
10:59 pm
Helpful. Thanks. I’m also looking for how to add the formatting buttons for comments you use here yourself for those posting comments. ie. bold, italics, link, indent etc.
9:29 pm
thanks u very good..
1:53 am
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*
1:54 am
very helpful reading, thanks
7:08 am
Thank you for the info, I’m planning to improve my blog.
8:33 am
Thanks for this, we spend several hours today fixing the look of our comments, untill we stumble on your page without any luck!
If you should have new designs later on, please inform us about that
Regards
Morten
5:54 pm
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 !
2:40 am
Thanks for sharing….great
11:24 am
Cool!
Do you happen to have anything for styling an “About This Author” section, that could be added to the end of a post?
Just wondering…
1:36 am
I think I got some result. Thank you here. Great job on the theme.
Thanks for sharing.
7:18 am
hi i want to have my comments across 4 columns do you have any examples of how to do this? Thanks
1:59 pm
Cool! I like the second one. Thanx buddy!
8:28 pm
Nice tutorial. I’m using Cutline’s 1.4-3ColumnSplit theme and trying to implement the Alternating Arrows comment style but I’m not sure where to add the template code within my comments.php. Any assistance will be appreciated.
Thanks
12:00 am
Thanks so much for taking the time to write this post. I was able to implement it with no problems whatsoever. Big up!
5:08 am
Thanks for your great help!
4:12 pm
Thanks ! It will help a lot
9:02 am
hi very good thank you
6:56 am
thank you very good…
11:42 am
Very useful info. Thanks for sharing.
11:37 am
Is the function “emptyempty” (Line 15) supposed to just be “empty”? That change worked for me.
11:50 am
Good question, that code is about 2 years out of date. There has since been a comment_class function that generates classes to allow alternate li styles.
9:39 pm
Small edit required in first comment box css:
background: #9bc561 url(http://www.yoursite.com/images/bg_comments2_text.jpg) repeat-x bottombottom;
Should be:
background: #9bc561 url(http://www.yoursite.com/images/bg_comments2_text.jpg) repeat-x bottom bottom;
missing space between “bottombottom”
:D
3:16 pm
Nice layouts…