Я думал, что понял это с помощью GROUP BY, но теперь я не уверен. Вот код:
if ( !$comments = wp_cache_get( 'recent_comments', 'widget' ) ) {
$comments = $wpdb->get_results("SELECT comment_post_ID, comment_author, comment_date FROM $wpdb->comments WHERE comment_approved = '1' GROUP BY comment_post_ID ORDER BY comment_date_gmt DESC LIMIT $number");
wp_cache_add( 'recent_comments', $comments, 'widget' );
}
Единственное изменение заключается в добавлении GROUP BY comment_post_ID (поле, которое я хотел, чтобы оно было уникальным). К сожалению, это «нарушает» функцию; он заморожен и не обновляется.
Я также не мог заставить DISTINCT работать. Один комментарий, за которым я следую, чтобы выяснить это, пришел от http://www.webmasterworld.com/forum88/9204.htm
В частности, комментарий №: 1259236 от ergophobe говорит: «Вы не указали GROUP BY. Без этого вы получите несколько результатов для данного theme_id, поскольку строка не будет отличаться. Фактически, отличное не нужно, просто GROUP BY."
Все еще смотрит ....