WordPress if else requirements for comments

I am not sure where to start, but I want to add in a symbol or change the css for the comments for registered users. Show a difference between non registered user comments and registered user comments.

How would I go about adding this to my wordpress website?

Read More
<div class="commentdetails">

<p class="commentauthor"><?php comment_author_link() ?></p>
<?php if ($comment->comment_approved == '0') : ?>
<em>Your review is pending approval by gsprating staff.</em>
    <?php endif; ?>
<p class="commentdate"><?php comment_date('F jS, Y') ?>
&nbsp; &nbsp; IP/Hostname: <small>(coming soon)</small>
&nbsp; &nbsp; <?php edit_comment_link('Edit Comment','',''); ?>
</p>

I want to add make it so that the entire class is a different color if the user is a registered logged in user.

Related posts

Leave a Reply

2 comments

  1. Here’s an all php version of Saladin’s code using the standard if/else sysntax:

    <?php
     if ($comment->user_ID) {
        echo "<div class='comment_registeredUser'>";
     }
     else { // The user is not logged in
        echo "<div class='commentdetails'>";
     }
    ?>
    

    Putting all the code in php has fixed execution errors for me. Of course, that may have been because I was doing something else wrong.

  2. As comments are displayed in the wp_list_comments() function, you will need to edit the code there. The easiest way to achieve this is to use a simple if/else statement checking whether or not the comment has a user ID associated with it. If it does, that means the comment was made by a registered user.

    Of course, as well as this, you will need to create a new CSS class to give the distinction. Here is some example code:

    <?php if($comment->user_ID) : ?>
        <div class="comment_registeredUser"> <!-- Or whatever you decide to call the CSS class -->
    <?php else : ?> <!-- The commenter isn't a registered user -->
        <div class="commentdetails">
    <?php endif; ?>
    // Then include the rest of the code as is
    

    The $comment->user_ID variable will return a true if the comment poster is a registered user and was logged in when they posted the comment. The code above will assign your custom CSS class to the div if it does indeed return true. If not, it will simply apply the standard class and styling.

    There is also a really good tutorial for developing themes over at the WordPress Codex. Definitely worth having a read through if you are unsure on what you need to do to create/edit your WordPress theme.

    Edit: Cleaned up the answer and better explained the correct logic.