it appears that you have a GROUP BY that is not really required
plus, you're still using the dreaded, evil "select star"
and then there is the complexity of all those ORs that drive me nuts, both in the join but especially in the WHERE clause, where the ORs are mixed with ANDs...
in any case, you should remove the GROUP BY, and replace the join to the comments table with this --
JOIN ( SELECT comment_post_id
, COUNT(*) AS num_comments
BY comment_post_id ) AS sq
ON sq.comment_post_id = dbPosts.post_id
and then replace the dreaded comments.* in the SELECT clause with sq.num_comments