2

let's say I have posts with hundreds of comments, and that I want to show only the last N comments and then a link to a page read them all. How would I display the last N comments?

Thank you, Dino.

1
  • 1
    Where do you need this, on which page? Of the concrete post?
    – hakre
    Dec 20, 2010 at 17:10

2 Answers 2

1

See.
http://codex.wordpress.org/Function_Reference/get_comments

Set the orderby parameter to your desired value, possible values are.

comment_agent
comment_approved
comment_author
comment_author_email
comment_author_IP
comment_author_url
comment_content
comment_date
comment_date_gmt
comment_ID
comment_karma
comment_parent
comment_post_ID
comment_type
user_id

Refer to the link already provided for info on setting other parameters, and general examples.

6
  • Note that you need to replace the comments_template() with this, otherwise WP will still query the database for those hundreds of comments. To display all the comments on a separate page call the current page with a query argument like ?show_all_comments. Get all the comments form the db if this argument is present, otherwise get only 10 or something like that Dec 19, 2010 at 11:16
  • here's a similar thread which should help you do what you want: wordpress.stackexchange.com/questions/5358/… (you'll need that sql query for all the comments part) Dec 19, 2010 at 11:19
  • Why would you need a direct SQL query to fetch comments in this instance, this makes absolutely no sense to me at all. The user asked for a method for pulling comments, not specific to any kind of post or page, what relevance does the comment template have here? Curious for some clarification on your points.
    – t31os
    Dec 19, 2010 at 11:41
  • ok I'll post the entire code in a new answer, it's easier to understand Dec 19, 2010 at 11:48
  • Look forward to it... :)
    – t31os
    Dec 19, 2010 at 11:51
0

Why not just use native functionality for comment pagination?

See Enhanced Comment Display, Settings > Discussion in Codex.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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