comment_class( string|array $class = '', int|WP_Comment $comment = null, int|WP_Post $post_id = null, bool $echo = true )
Generates semantic classes for each comment element.
Description Description
Parameters Parameters
- $class
-
(string|array) (Optional) One or more classes to add to the class list.
Default value: ''
- $comment
-
(int|WP_Comment) (Optional) Comment ID or WP_Comment object. Default current comment.
Default value: null
- $post_id
-
(int|WP_Post) (Optional) Post ID or WP_Post object. Default current post.
Default value: null
- $echo
-
(bool) (Optional) Whether to echo or return the output.
Default value: true
Return Return
(string) If $echo
is false, the class will be returned. Void otherwise.
Source Source
File: wp-includes/comment-template.php
function comment_class( $class = '', $comment = null, $post_id = null, $echo = true ) { // Separates classes with a single space, collates classes for comment DIV $class = 'class="' . join( ' ', get_comment_class( $class, $comment, $post_id ) ) . '"'; if ( $echo ) { echo $class; } else { return $class; } }
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
4.4.0 | Added the ability for $comment to also accept a WP_Comment object. |
2.7.0 | Introduced. |
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
Example
The comment_class() outputs the class=”whatever” piece for that div. This includes several different classes of value: comment, even (or odd), thread-even, depth-1, etc. These make it easy to style different parts of the theme in different ways.
Specifically, it 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.
For special cases where you want to add your own classes, comment_class supports that too:
This will add “special” to the class list.