I have implemented custom code for generating comments on post page using callback function in functions.php.

function MYTHEME_comment($comment, $args, $depth) {
   $GLOBALS['comment'] = $comment; ?>

<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
   <div class="comment-author vcard">
     <?php echo get_avatar($comment,$size='48' ); ?>
       <div class="comment-meta"><a href="<?php the_author_meta( 'user_url'); ?>"><?php printf(__('%s'), get_comment_author_link()) ?></a></div>
     <div class="clear"></div>

     <?php if ($comment->comment_approved == '0') : ?>
       <em><?php _e('Your comment is awaiting moderation.') ?></em>
       <br />
     <?php endif; ?>

     <div class="comment-text"> 
         <?php comment_text() ?>

   <div class="reply">
      <?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
       <span class="comment-date"> <?php printf(__('%1$s at %2$s'), get_comment_date(),  get_comment_time()) ?><?php edit_comment_link(__('(Edit)'),'  ','') ?></span>

Here is a pastebin of the same code http://pastebin.com/nUjvsFua

It generates basic code to show all the comments on that post. I want the first five comments to be shown and then a "View more" button to show remaining comments. Any guide on how can I achieve this?

  • That code only displays one comment, you have to loop it 5 times then show a read more link. Feb 22, 2013 at 18:41
  • That function is called by wordpress for each comment. Iis is called by wp_list_comments( array( 'callback' => 'MYTHEME_comment' ) )
    – rockvilla
    Feb 22, 2013 at 18:46

1 Answer 1


Set per_page to 5 and page to 1 in wp_list_comments


Then add your read more link just below your comments to reload the page with per_page and page not set. You can do this with AJAX for smoothness.

  • It is working partially. setting per_page to '5' and page to '1', it displays oldest 5 comments but I want to show newest 5 comments. Setting reverse_top_level to true or false also doesn't help. /any idea how can I go about this?
    – rockvilla
    Feb 23, 2013 at 8:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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