Advertisements

get_comment_class

Definition:
function get_comment_class( $class = '', $comment_id = null, $post_id = null ) {}

Returns the classes for the comment div as an array

Parameters

  • string|array $class: One or more classes to add to the class list
  • int $comment_id: An optional comment ID
  • int $post_id: An optional post ID

Return values

returns:Array of classes

Defined filters

  • comment_class
    apply_filters('comment_class', $classes, $class, $comment_id, $post_id)

Source code

function get_comment_class( $class = '', $comment_id = null, $post_id = null ) {

	global $comment_alt, $comment_depth, $comment_thread_alt;



	$comment = get_comment($comment_id);



	$classes = array();



	// Get the comment type (comment, trackback),

	$classes[] = ( empty( $comment->comment_type ) ) ? 'comment' : $comment->comment_type;



	// If the comment author has an id (registered), then print the log in name

	if ( $comment->user_id > 0 && $user = get_userdata($comment->user_id) ) {

		// For all registered users, 'byuser'

		$classes[] = 'byuser';

		$classes[] = 'comment-author-' . sanitize_html_class($user->user_nicename, $comment->user_id);

		// For comment authors who are the author of the post

		if ( $post = get_post($post_id) ) {

			if ( $comment->user_id === $post->post_author )

				$classes[] = 'bypostauthor';

		}

	}



	if ( empty($comment_alt) )

		$comment_alt = 0;

	if ( empty($comment_depth) )

		$comment_depth = 1;

	if ( empty($comment_thread_alt) )

		$comment_thread_alt = 0;



	if ( $comment_alt % 2 ) {

		$classes[] = 'odd';

		$classes[] = 'alt';

	} else {

		$classes[] = 'even';

	}



	$comment_alt++;



	// Alt for top-level comments

	if ( 1 == $comment_depth ) {

		if ( $comment_thread_alt % 2 ) {

			$classes[] = 'thread-odd';

			$classes[] = 'thread-alt';

		} else {

			$classes[] = 'thread-even';

		}

		$comment_thread_alt++;

	}



	$classes[] = "depth-$comment_depth";



	if ( !empty($class) ) {

		if ( !is_array( $class ) )

			$class = preg_split('#\s+#', $class);

		$classes = array_merge($classes, $class);

	}



	$classes = array_map('esc_attr', $classes);



	return apply_filters('comment_class', $classes, $class, $comment_id, $post_id);

}

1306

Advertisements

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: