[Resolved] comment form not being displayed for posts with no comments

Home Forums Support [Resolved] comment form not being displayed for posts with no comments

Home Forums Support comment form not being displayed for posts with no comments

  • This topic has 5 replies, 2 voices, and was last updated 5 years ago by Tom.
Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #852598
    dassana

    hi tom

    i am using the following code in comment.php file. i just took the comment form code up to be displayed before the comments. now what has happened in posts where there is no comment, the comment form is not visible. in posts where there are comments, the comment form is visible. code pasted below

    <?php
    /**
    * The template for displaying Comments.
    *
    * The area of the page that contains both current comments
    * and the comment form. The actual display of comments is
    * handled by a callback to generate_comment() which is
    * located in the inc/template-tags.php file.
    *
    * @package GeneratePress
    */

    if ( ! defined( ‘ABSPATH’ ) ) {
    exit; // Exit if accessed directly.
    }

    /*
    * 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;
    }

    /**
    * generate_before_comments hook.
    *
    * @since 0.1
    */
    do_action( ‘generate_before_comments’ );
    ?>

    <?php
    /**
    * generate_inside_comments hook.
    *
    * @since 1.3.47
    */
    do_action( ‘generate_inside_comments’ );

    if ( have_comments() ) : ?>
    <h3 class=”comments-title”>
    <?php
    $comments_number = get_comments_number();
    if ( 1 === $comments_number ) {
    printf(
    /* translators: %s: post title */
    esc_html_x( ‘One thought on “%s”’, ‘comments title’, ‘generatepress’ ),
    ‘<span>’ . get_the_title() . ‘</span>’
    );
    } else {
    printf( // WPCS: XSS OK.
    /* translators: 1: number of comments, 2: post title */
    esc_html( _nx(
    ‘%1$s comments/reviews’,
    ‘%1$s comments/reviews’,
    $comments_number,
    ‘comments title’,
    ‘generatepress’
    ) ),
    number_format_i18n( $comments_number ),
    ‘<span>’ . get_the_title() . ‘</span>’
    );
    }
    ?>
    </h3>

    <?php
    /**
    * generate_below_comments_title hook.
    *
    * @since 0.1
    */
    do_action( ‘generate_below_comments_title’ );

    $defaults = array(
    ‘comment_field’ => ‘<p class=”comment-form-comment”><label for=”comment” class=”screen-reader-text”>’ . esc_html__( ‘Comment’, ‘generatepress’ ) . ‘</label><textarea id=”comment” name=”comment” cols=”45″ rows=”8″ aria-required=”true”></textarea></p>’,
    ‘comment_notes_before’ => ‘<p class=”comment-notes”><span id=”email-notes”>’ . __( ‘Your email address will not be published.’ ) . ‘</span></p>’,
    ‘comment_notes_after’ => null,
    ‘id_form’ => ‘commentform’,
    ‘id_submit’ => ‘submit’,
    ‘title_reply’ => apply_filters( ‘generate_leave_comment’, __( ‘Leave a Comment’, ‘generatepress’ ) ),
    ‘label_submit’ => apply_filters( ‘generate_post_comment’, __( ‘Post Comment/Review’, ‘generatepress’ ) ),
    );
    comment_form( $defaults );

    if ( get_comment_pages_count() > 1 && get_option( ‘page_comments’ ) ) : ?>
    <nav id=”comment-nav-above” class=”comment-navigation” role=”navigation”>
    <h2 class=”screen-reader-text”><?php esc_html_e( ‘Comment navigation’, ‘generatepress’ ); ?></h2>

    </nav><!– #comment-nav-above –>
    <?php endif; ?>

      <?php
      /*
      * Loop through and list the comments. Tell wp_list_comments()
      * to use generate_comment() to format the comments.
      * If you want to override this in a child theme, then you can
      * define generate_comment() and that will be used instead.
      * See generate_comment() in inc/template-tags.php for more.
      */
      wp_list_comments( array(
      ‘callback’ => ‘generate_comment’,
      ) );
      ?>

    <!– .comment-list –>

    <?php if ( get_comment_pages_count() > 1 && get_option( ‘page_comments’ ) ) : ?>
    <nav id=”comment-nav-below” class=”comment-navigation” role=”navigation”>
    <h2 class=”screen-reader-text”><?php esc_html_e( ‘Comment navigation’, ‘generatepress’ ); ?></h2>

    </nav><!– #comment-nav-below –>
    <?php endif;

    endif;

    // If comments are closed and there are comments, let’s leave a little note, shall we?
    if ( ! comments_open() && ‘0’ != get_comments_number() && post_type_supports( get_post_type(), ‘comments’ ) ) : ?>
    <p class=”no-comments”><?php _e( ‘Comments are closed’, ‘generatepress’ ); // WPCS: XSS OK. ?></p>
    <?php endif; ?>

    <!– #comments –>

    #852948
    Tom
    Lead Developer
    Lead Developer

    Hi there,

    I’m not too sure what you mean. What did you change in that file exactly?

    #853246
    dassana

    hi tom

    i placed the following code after do_action( ‘generate_below_comments_title’ );

    as it shows comment form after the content and on top of the comments)

    _________________________________________________________

    $defaults = array(
    ‘comment_field’ => ‘<p class=”comment-form-comment”><label for=”comment” class=”screen-reader-text”>’ . esc_html__( ‘Comment’, ‘generatepress’ ) . ‘</label><textarea id=”comment” name=”comment” cols=”45″ rows=”8″ aria-required=”true”></textarea></p>’,
    ‘comment_notes_before’ => ‘<p class=”comment-notes”><span id=”email-notes”>’ . __( ‘Your email address will not be published.’ ) . ‘</span></p>’,
    ‘comment_notes_after’ => null,
    ‘id_form’ => ‘commentform’,
    ‘id_submit’ => ‘submit’,
    ‘title_reply’ => apply_filters( ‘generate_leave_comment’, __( ‘Leave a Comment’, ‘generatepress’ ) ),
    ‘label_submit’ => apply_filters( ‘generate_post_comment’, __( ‘Post Comment/Review’, ‘generatepress’ ) ),
    );
    comment_form( $defaults );

    ____________________________________________________________________

    that’s it. this above code is actually placed towards the end in comments.php for do_action( ‘generate_below_comments_title’ );

    as a result the comment form appears after the comments. i wanted the comments form to be above the comments.

    thus after changing the placement of the code, the comment form on all single posts with 0 comments have disappeared. am i missing some tag or code here.

    regards
    dassana

    #853665
    Tom
    Lead Developer
    Lead Developer

    Hmm, not sure why that would prevent the comment form from showing up. Maybe try the solution here?: https://generatepress.com/forums/topic/comment-box-above-comments/#post-396814

    #853710
    dassana

    thanks for the link tom. managed to add the codes and the error was gone.

    #853837
    Tom
    Lead Developer
    Lead Developer

    Awesome 🙂

Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.