You can do this by using get_adjacent_post()
and the filter get_previous_post_where
or get_next_post_where
. You’ll call get_adjacent_post()
as normal, but you’ll need to change the LIMIT
to 5, using the filter.
I wasn’t sure from the question whether or not you wanted to have the current post be first. If you do, you’ll need to set the LIMIT
to 4 and then use the current postdata to generate the first post.
I would create an array of post ids, and then use get_post()
when you iterate through them, as I believe that get_adjacent_post()
will return raw rows from the database.