Вариант в 1-ну строку:
echo get_comments( [ 'user_id' => $curauth->ID, 'count' => true, 'status' => 'approve' ] );
ну а если без шуток - что может быть лучше того, что работает на родном апи, кешируется его нутром и пишется в одну строку?
Врядли элегантней решение найдёте.