wp-content/themes/twentytwenty/classes/class-twentytwenty-walker-comment.php:17CUSTOM COMMENT WALKER A custom walker for comments, based on the walker in Twenty Nineteen.
class TwentyTwenty_Walker_Comment extends Walker_Comment { /** * Outputs a comment in the HTML5 format. * * @since Twenty Twenty 1.0 * * @see wp_list_comments() * @see https://developer.wordpress.org/reference/functions/get_comment_author_url/ * @see https://developer.wordpress.org/reference/functions/get_comment_author/ * @see https://developer.wordpress.org/reference/functions/get_avatar/ * @see https://developer.wordpress.org/reference/functions/get_comment_reply_link/ * @see https://developer.wordpress.org/reference/functions/get_edit_comment_link/ * * @param WP_Comment $comment Comment to display. * @param int $depth Depth of the current comment. * @param array $args An array of arguments. */ protected function html5_comment( $comment, $depth, $args ) { $tag = ( 'div' === $args['style'] ) ? 'div' : 'li'; ?> <<?php echo $tag; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- static output ?> id="comment-<?php comment_ID(); ?>" <?php comment_class( $this->has_children ? 'parent' : '', $comment ); ?>> <article id="div-comment-<?php comment_ID(); ?>" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <?php $comment_author_url = get_comment_author_url( $comment ); $comment_author = get_comment_author( $comment ); $avatar = get_avatar( $comment, $args['avatar_size'] ); if ( 0 !== $args['avatar_size'] ) { if ( empty( $comment_author_url ) ) { echo wp_kses_post( $avatar ); } else { printf( '<a href="%s" rel="external nofollow" class="url">', $comment_author_url ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped --Escaped in https://developer.wordpress.org/reference/functions/get_comment_author_url/ echo wp_kses_post( $avatar ); } } printf( '<span class="fn">%1$s</span><span class="screen-reader-text says">%2$s</span>', esc_html( $comment_author ), /* translators: Hidden accessibility text. */ __( 'says:', 'twentytwenty' ) ); if ( ! empty( $comment_author_url ) ) { echo '</a>'; } ?> </div><!-- .comment-author --> <div class="comment-metadata"> <?php /* translators: 1: Comment date, 2: Comment time. */ $comment_timestamp = sprintf( __( '%1$s at %2$s', 'twentytwenty' ), get_comment_date( '', $comment ), get_comment_time() ); printf( '<a href="%s"><time datetime="%s">%s</time></a>', esc_url( get_comment_link( $comment, $args ) ), get_comment_time( 'c' ), esc_html( $comment_timestamp ) ); if ( get_edit_comment_link() ) { printf( ' <span aria-hidden="true">•</span> <a class="comment-edit-link" href="%s">%s</a>', esc_url( get_edit_comment_link() ), __( 'Edit', 'twentytwenty' ) ); } ?> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content entry-content"> <?phpIntroduced in Twenty Twenty 1.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
src/wp-content/themes/twentytwenty/classes/class-twentytwenty-walker-comment.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.