开发者

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?

<div class="commentdetails">

<p class="commentauthor"><?php comment_author_link() ?></p>
<?php if ($comment->c开发者_运维问答omment_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.


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.


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜