Erhalten Sie die letzten Kommentare einer bestimmten Kategorie

Ich benutze get_comments('status=approve&number=5') um die letzten Kommentare in meiner WordPress Sidebar anzuzeigen. Ich muss die letzten Kommentare einer bestimmten Kategorie anzeigen. Wie macht man das?

Solutions Collecting From Web of "Erhalten Sie die letzten Kommentare einer bestimmten Kategorie"

In diesem Link gibt es den folgenden Code, der Ihre Frage adressiert:

 // Posts per page setting $ppp = get_option('posts_per_page'); // either use the WordPress global Posts per page setting or set a custom one like $ppp = 10; $custom_offset = 0; // If you are dealing with your custom pagination, then you can calculate the value of this offset using a formula // category (can be a parent category) $category_parent = 3; // lets fetch sub categories of this category and build an array $categories = get_terms( 'category', array( 'child_of' => $category_parent, 'hide_empty' => false ) ); $category_list = array( $category_parent ); foreach( $categories as $term ) { $category_list[] = (int) $term->term_id; } // fetch posts in all those categories $posts = get_objects_in_term( $category_list, 'category' ); $sql = "SELECT comment_ID, comment_date, comment_content, comment_post_ID FROM {$wpdb->comments} WHERE comment_post_ID in (".implode(',', $posts).") AND comment_approved = 1 ORDER by comment_date DESC LIMIT $ppp OFFSET $custom_offset"; $comments_list = $wpdb->get_results( $sql ); if ( count( $comments_list ) > 0 ) { $date_format = get_option( 'date_format' ); echo '
    '; foreach ( $comments_list as $comment ) { echo '
  • Comment: '.substr( $comment->comment_content, 0, 50 ).'..
    '.date( $date_format, strtotime( $comment->comment_date ) ).'
    Post: '.get_the_title( $comment->comment_post_ID ).'
  • '; } echo '
'; } else { echo '

No comments

'; } ?>