Вы должны переместить свое состояние за пределы конкатенации.
// here i am using ternary operator for your condition.
$condition = (($key + 1) != $comments->count() ? '<hr>' : '');
Затем вы можете использовать вот так:
$output .=
'<li class="recentcomments recent-comment">
<div class="wbrc-header">
<span class="wbrc-header-avatar">' . get_avatar( $comment, 50/*avatar_size*/ ) . '</span>
<div class="wbrc-header-AD">
<span class="wbrc-header-author">' . $author . '</span>
<span class="wbrc-header-date">' . $date . '</span>
</div>
</div>
<div class="wbrc-body">
<span class="wbrc-body-comment">' . $comment_text . '</span>
</div>'.$condition. // change this part
'</li>';
Использование условия IF
с конкатенацией (.)
приведет к "syntax error, unexpected 'if'"
.