You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
3.9 KiB
128 lines
3.9 KiB
<?php |
|
/** |
|
* The template for displaying comments |
|
* |
|
* This is the template that displays the area of the page that contains both the current comments |
|
* and the comment form. |
|
* |
|
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/ |
|
* |
|
* @package WordPress |
|
* @subpackage Twenty_Nineteen |
|
* @since 1.0.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() ) { |
|
return; |
|
} |
|
|
|
$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"> |
|
<?php |
|
if ( comments_open() ) { |
|
if ( have_comments() ) { |
|
_e( 'Join the Conversation', 'twentynineteen' ); |
|
} else { |
|
_e( 'Leave a comment', 'twentynineteen' ); |
|
} |
|
} else { |
|
if ( '1' == $discussion->responses ) { |
|
/* translators: %s: Post title. */ |
|
printf( _x( 'One reply on “%s”', 'comments title', 'twentynineteen' ), get_the_title() ); |
|
} else { |
|
printf( |
|
/* translators: 1: Number of comments, 2: Post title. */ |
|
_nx( |
|
'%1$s reply on “%2$s”', |
|
'%1$s replies on “%2$s”', |
|
$discussion->responses, |
|
'comments title', |
|
'twentynineteen' |
|
), |
|
number_format_i18n( $discussion->responses ), |
|
get_the_title() |
|
); |
|
} |
|
} |
|
?> |
|
</h2><!-- .comments-title --> |
|
<?php |
|
// 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 --> |
|
<?php |
|
if ( have_comments() ) : |
|
|
|
// Show comment form at top if showing newest comments at the top. |
|
if ( comments_open() ) { |
|
twentynineteen_comment_form( 'desc' ); |
|
} |
|
|
|
?> |
|
<ol class="comment-list"> |
|
<?php |
|
wp_list_comments( |
|
array( |
|
'walker' => new TwentyNineteen_Walker_Comment(), |
|
'avatar_size' => twentynineteen_get_avatar_size(), |
|
'short_ping' => true, |
|
'style' => 'ol', |
|
) |
|
); |
|
?> |
|
</ol><!-- .comment-list --> |
|
<?php |
|
|
|
// Show comment navigation |
|
if ( have_comments() ) : |
|
$prev_icon = twentynineteen_get_icon_svg( 'chevron_left', 22 ); |
|
$next_icon = twentynineteen_get_icon_svg( 'chevron_right', 22 ); |
|
$comments_text = __( 'Comments', 'twentynineteen' ); |
|
the_comments_navigation( |
|
array( |
|
'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 ), |
|
) |
|
); |
|
endif; |
|
|
|
// 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> |
|
</div> |
|
<?php |
|
endif; |
|
|
|
// If comments are closed and there are comments, let's leave a little note, shall we? |
|
if ( ! comments_open() ) : |
|
?> |
|
<p class="no-comments"> |
|
<?php _e( 'Comments are closed.', 'twentynineteen' ); ?> |
|
</p> |
|
<?php |
|
endif; |
|
|
|
else : |
|
|
|
// Show comment form. |
|
twentynineteen_comment_form( true ); |
|
|
|
endif; // if have_comments(); |
|
?> |
|
</div><!-- #comments -->
|
|
|