To clearly understand what
'ignore_sticky_posts' => 1 does, you need to understand what WordPress does when
ignore_sticky_posts argument is not set or it’s set to
0 (by default):
- If there are posts within the query result that are part of stick posts, WordPress will push them to the top of the query result.
- If any sticky post is not present within the query result, WordPress will get all those sticky posts from the database again and set them to the top of the query result.