I sent an email explaining my fix for this as well posting this here:
what I did is in your function protected function sql() down where you have
“order by score”
I changed it to
” order by score, post_date desc limit $limit”
I noticed that you perform the sql and just order by score which doesn’t order by date as well. So with a lower limit like 8 some of the newest posts may not be in that query that is returned. with sorting by date as well it returns the most current posts.
This was my understanding of order by (new to old).