comment_class( string|string[] $css_class = "", int|WP_Comment $comment = null, int|WP_Post $post = null, bool $display = true ): void|string

Generates semantic classes for each comment element.





One or more classes to add to the class list.

Default: ""




Comment ID or WP_Comment object. Default current comment.

Default: null




Post ID or WP_Post object. Default current post.

Default: null




Whether to print or return the output.

Default: true


void|string Void if $display argument is true, comment classes if $display is false.


File: wp-includes/comment-template.php.

View all references

function comment_class( $css_class = "", $comment = null, $post = null, $display = true ) {

// Separates classes with a single space, collates classes for comment DIV.

$css_class = "class="" . implode( " ", get_comment_class( $css_class, $comment, $post ) ) . """;

if ( $display ) {

echo $css_class;

} else {

return $css_class;



More Information

comment_class() will apply the following classes, based on the following conditions:

comment_type: for normal comments, adds class “comment”. For all other types, it adds the value of the comment_type as the class

user_id: if the comment was made by a registered user, then adds class “byuser” and “comment-author-” + the user_nicename sanitized (i.e. spaces removed). Also, if the comment is by the original author of the post, the class “bypostauthor” is added.

Odd/Even: if the comment number is even, adds class “even”. Otherwise, adds class “alt” and “odd”.

Comment Depth: The class “depth=” + the comment depth is always added

Top-level Comments: If comment depth is top level (1), then adds “thread-even” or “thread-alt” and “thread-odd” depending on whether the comment number is even or odd.

If the optional class parameter is passed to comment_class() , then that class gets added to all the others. This is useful for defining your own custom comment class.

comment_class() uses the following global variables. So these variables can be set prior to calling comment_class() to effect the output:




For example, you can force $comment_alt = FALSE if you always want to start with the first comment being even. The comment_class() function will then alternate this variable for you.

Leave a Reply

Your email address will not be published. Required fields are marked *