123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?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 -->
|