WordPress.org

Support

Support » Themes and Templates » Admin Comments: Different CSS

Admin Comments: Different CSS

  • stumpcrash

    @stumpcrash

    http://www.stumpcrash.com

    I want to reply to my visitors who comment on my blog and I want the comment structure (or the style) to be different when I’m logged in and I reply.

    How do I do so?

Viewing 10 replies - 1 through 10 (of 10 total)
  • Kafkaesqui

    @kafkaesqui

    You can define a class (let’s say ‘comment-admin’) you can style in your theme’s style.css. In the comments loop (of your comments.php):

    <?php
    $comment_class = (1 == $comment->user_id) ? 'comment-admin' : 'comment';
    ?>

    Make sure to change the 1 to the user ID of your login if different. Then where you want to insert the class (for example we’ll use a div, but it can be any element you plan to modify):

    <div class="<?php echo $comment_class; ?>">

    stumpcrash

    @stumpcrash

    <div class=”<?php echo $comment_class; ?>”>

    Where will I place this?

    In the loop?

    As I note it is an example. You would want to echo $comment_class as a value for ‘class’ on whatever HTML element you need to affect. This can be a div, and span, a paragraph (<p>) tag. Whatever.

    But yes, it would certainly be in the comments loop of your comments template.

    Why not keep it even more simple 🙂

    <div class="author-id-<?php echo $comment->user_id; ?>">

    And then just style .author-id-1

    I came across this thread in a search for something else, but I have a solution for anyone who has multiple blog authors.

    This will allow you to set the class for a comment based on who wrote a post instead of just the blog owner:

    Different Content for Different Authors

    I’m using the following:

    <?php// Comment loop
    if ($comments):
    	foreach ($comments as $comment):
    	// Test if Comment Author == Post Author
    		if ($comment->user_id == $post->post_author):
    			$CommentAuthorIsPostAuthor = True;
    		else:
    			$CommentAuthorIsPostAuthor = False;
    		endif;
    
    	// NoFollow sucks, we need an "alt" tag
    		$AuthorName = $comment->comment_author;
    		$AuthorURL = $comment->comment_author_url;
    		if ( ($AuthorURL == '') || ($AuthorURL == 'http://') ):
    			$AuthorData = "Comment by $AuthorName";
    		else:
    			$AuthorData = "Comment by <a href='$AuthorURL' alt='URL for comment author $AuthorName'>$AuthorName</a>";
    		endif;
    ?>

    So this chunk of code does the following:

    1. Identify the author based on user id. This means you will only be identified as the author if are actually logged in. (keeping email high-jackers from being identified as the author erroneously).
    2. Allow for custom comment author links. In my case I’m adding an “alt” tag, and removing the “rel” tag.

    Kevin

    Is there any update to how to do this in the new WordPress? I don’t have a comment loop section in my theme I don’t think…

    whooami

    @whooami

    Member

    … I dont have …

    yes, you do.

    Wow, thanks Thomas-DK! That is the simplest “different css”-trick I’ve seen! 🙂

    wyldwolf, can you give me an idea as to where this would go/what it would replace in 2.6’s comments.php file?

Viewing 10 replies - 1 through 10 (of 10 total)
  • The topic ‘Admin Comments: Different CSS’ is closed to new replies.
Skip to toolbar