Languages: English • Italiano • 日本語 (Add your language)
Determines whether there are any Comments to loop over or not.
This function relies upon the global $wp_query object to be set - this is usually the case from within The Loop.
Warning: this function will always return "false" until after comments_template has been called. If you need to check for comments before calling comments_template, use get_comments_number instead.
<?php $have_comments = have_comments(); ?>
n/a
Example based on Twentyten's comments.php template: Comments title (and more) is displayed only when comments are available:
<?php if ( have_comments() ) : ?> <h3 id="comments-title"><?php printf( _n( 'One Response to %2$s', '%1$s Responses to %2$s', get_comments_number(), 'twentyten' ), number_format_i18n( get_comments_number() ), '<em>' . get_the_title() . '</em>' ); ?></h3> // [and more, of course...] <?php else : // or, if we don't have comments: if ( ! comments_open() ) : ?> <p class="nocomments"><?php _e( 'Comments are closed.', 'twentyten' ); ?></p> <?php endif; // end ! comments_open() ?> <?php endif; // end have_comments() ?>
Since: 2.2.0
have_comments() is located in wp-includes/query.php
.