Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Im sorry about my english.

I have made more than 5 comments on post pages. I have publish all the comments. But there are no comments that appear on the post page.

This is my Comments.php content:

<?php
/**
 * @package WordPress
 * @subpackage Default_Theme
 */

// Do not delete these lines
    if (!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
        die ('Please do not load this page directly. Thanks!');

    if ( post_password_required() ) { ?>
        <p class="nocomments">This post is password protected. Enter the password to view comments.</p>
    <?php
        return;
    }
?>

<!-- You can start editing here. -->

<?php if ( have_comments() ) : ?>
    <h3 id="comments"><?php comments_number('No Responses', 'One Response', '% Responses' );?> to &#8220;<?php the_title(); ?>&#8221;</h3>

    <ol class="commentlist">
    <?php wp_list_comments('avatar_size=58'); ?>
    </ol>

    <div class="navigation_comments">
        <div class="navigation_comments_alignleft"><?php previous_comments_link() ?></div>
        <div class="navigation_comments_alignright"><?php next_comments_link() ?></div>
    </div>

 <?php else : // this is displayed if there are no comments so far ?>

    <?php if ( comments_open() ) : ?>
        <!-- If comments are open, but there are no comments. -->

     <?php else : // comments are closed ?>
        <!-- If comments are closed. -->
        <p class="nocomments">Comments are closed.</p>

    <?php endif; ?>
<?php endif; ?>

<?php comment_form(); ?>

<?php if ( comments_open() ) : ?>
<div id="respond">
<h3><?php comment_form_title( 'Leave a Reply', 'Leave a Reply to %s' ); ?></h3>

<div class="cancel-comment-reply">
    <small><?php cancel_comment_reply_link(); ?></small>
</div>

<?php if ( get_option('comment_registration') && !is_user_logged_in() ) : ?>
<p>You must be <a href="<?php echo wp_login_url( get_permalink() ); ?>">logged in</a> to post a comment.</p>
<?php else : ?>

<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">

<?php if ( is_user_logged_in() ) : ?>

<p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="Log out of this account">Log out &raquo;</a></p>

<?php else : ?>

<p><input type="text" name="author" id="author" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> />
<label for="author"><small>Name <?php if ($req) echo "(required)"; ?></small></label></p>

<p><input type="text" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> />
<label for="email"><small>Mail (will not be published) <?php if ($req) echo "(required)"; ?></small></label></p>

<p><input type="text" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" size="22" tabindex="3" />
<label for="url"><small>Website</small></label></p>

<?php endif; ?>

<!--<p><small><strong>XHTML:</strong> You can use these tags: <code><?php echo allowed_tags(); ?></code></small></p>-->

<p><textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea></p>

<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
<?php comment_id_fields(); ?>
</p>
<?php do_action('comment_form', $post->ID); ?>

</form>

<?php endif; // If registration required and not logged in ?>
</div>

<?php endif; // if you delete this the sky will fall on your head ?>

In my single.php, I load the comment using this code: <?php comment_form(); ?>

Why i using ( <?php comment_form(); ?> ) this code, because "Theme Check" required that.

Please help me. Thank you

share|improve this question
    
hi, can you see the comments in the backend? if so what status do they have (approved/unapproved/spam) ? –  birgire May 29 '13 at 9:17
    
Dear Birgire, I have approved all comments in my backend. Print screen >> i.imgur.com/MP2jKAw.jpg –  v123shine May 29 '13 at 9:22
    
oh I know, i must using this code <?php comments_template(); ?> in my single.php page. Now the comments appear on the post page but i have two form comments. Print screen: i.imgur.com/UoeAODn.jpg –  v123shine May 29 '13 at 9:34
    
ok, my next question was about comments_template ;-) You have an extra form in your code (the input fields). –  birgire May 29 '13 at 9:43
    
OMG, i forget i have extra form. Thank you so much Birgie, you help me solved my problem. –  v123shine May 29 '13 at 9:54
show 2 more comments

1 Answer

up vote 2 down vote accepted

ok, here is how we solved it together ;-)

We checked the following:

  • the comments are visible in the backend.

  • the comment status is approved for all the comments.

  • we need to use comments_template() in the template file single.php.

  • remove the extra form (the input fields), since comment_form() is used.

It's informative to view the the TwentyTwelve theme files single.php and comments.php to compare.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.