我确信在评论步行器中有一种方法可以做到这一点,但如果我正在解决这个问题,我可能会这样做:
在保存新评论时添加一个钩子,以更新其父帖子上的“最新评论”标志;
add_action( \'wp_insert_comment\', \'set_last_comment\', 10, 2 );
function set_last_comment_flag( $id, $comment ) {
update_post_meta( $comment->comment_post_ID, \'_last_comment\', $id );
}
然后,使用该标志过滤注释类。
add_filter( \'comment_class\', \'flag_last_comment\', 10, 4)
function flag_last_comment( $classes, $class, $comment_id, $post_id ) {
if ( get_post_meta( $post_id, \'_last_comment\', true ) == $comment_id )
$classes[] = \'last_comment\';
return classes;
}
现在,这将标记最后写入的注释,而不一定是页面上显示的底部注释(您可以有线程注释,也可以在一篇帖子上有多页注释)。所以我不知道这对你有多好。
如果您必须针对页面上显示的最后一条评论,我真的可以使用javascript来应用您想要的任何类。从注释遍历器中找出这一点所需的逻辑可能比在页面呈现后返回并找到最后一个列表项的一行jQuery要复杂得多。