* The template for displaying comments
* This is the template that displays the area of the page that contains both the current comments
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
* @subpackage Twenty_Nineteen
* @since Twenty Nineteen 1.0
* If the current post is protected by a password and
* the visitor has not yet entered the password we will
* return early without loading the comments.
if ( post_password_required() ) {
$discussion = twentynineteen_get_discussion_data();
<div id="comments" class="<?php echo comments_open() ? 'comments-area' : 'comments-area comments-closed'; ?>">
<div class="<?php echo $discussion->responses > 0 ? 'comments-title-wrap' : 'comments-title-wrap no-responses'; ?>">
<h2 class="comments-title">
_e( 'Join the Conversation', 'twentynineteen' );
_e( 'Leave a comment', 'twentynineteen' );
if ( '1' == $discussion->responses ) {
/* translators: %s: Post title. */
printf( _x( 'One reply on “%s”', 'comments title', 'twentynineteen' ), get_the_title() );
/* translators: 1: Number of comments, 2: Post title. */
'%1$s reply on “%2$s”',
'%1$s replies on “%2$s”',
number_format_i18n( $discussion->responses ),
</h2><!-- .comments-title -->
// Only show discussion meta information when comments are open and available.
if ( have_comments() && comments_open() ) {
get_template_part( 'template-parts/post/discussion', 'meta' );
</div><!-- .comments-title-flex -->
// Show comment form at top if showing newest comments at the top.
twentynineteen_comment_form( 'desc' );
<ol class="comment-list">
'walker' => new TwentyNineteen_Walker_Comment(),
'avatar_size' => twentynineteen_get_avatar_size(),
</ol><!-- .comment-list -->
// Show comment navigation.
$prev_icon = twentynineteen_get_icon_svg( 'chevron_left', 22 );
$next_icon = twentynineteen_get_icon_svg( 'chevron_right', 22 );
$comments_text = __( 'Comments', 'twentynineteen' );
'prev_text' => sprintf( '%s <span class="nav-prev-text"><span class="primary-text">%s</span> <span class="secondary-text">%s</span></span>', $prev_icon, __( 'Previous', 'twentynineteen' ), __( 'Comments', 'twentynineteen' ) ),
'next_text' => sprintf( '<span class="nav-next-text"><span class="primary-text">%s</span> <span class="secondary-text">%s</span></span> %s', __( 'Next', 'twentynineteen' ), __( 'Comments', 'twentynineteen' ), $next_icon ),
// Show comment form at bottom if showing newest comments at the bottom.
if ( comments_open() && 'asc' === strtolower( get_option( 'comment_order', 'asc' ) ) ) :
<div class="comment-form-flex">
<span class="screen-reader-text"><?php _e( 'Leave a comment', 'twentynineteen' ); ?></span>
<?php twentynineteen_comment_form( 'asc' ); ?>
<h2 class="comments-title" aria-hidden="true"><?php _e( 'Leave a comment', 'twentynineteen' ); ?></h2>
// If comments are closed and there are comments, let's leave a little note, shall we?
if ( ! comments_open() ) :
<?php _e( 'Comments are closed.', 'twentynineteen' ); ?>
twentynineteen_comment_form( true );
endif; // if have_comments();