Если только кратко 😛
1. В WordPress всё «движение» заточено на так называемом основном запросе. Его можно изменить двумя способами:
— использовать query_posts()
— использовать pre_get_posts
если вы используете query_posts()
, то обязательно надо восстанавливать оригинальный основной запрос виа wp_reset_query()
. Восстановит глобальные переменные $post
и $wp_query
. Настоятельно рекомендую использовать хук pre_get_posts
вместо query_posts
.
2. Также можно создать «вторую выборку» через WP_Query
или get_posts()
.
В первом случае (WP_Query
) надо восстановить только глобальную переменную $post
, для этого используйте wp_reset_postdata()
.
Во втором случае (get_posts()
), использовать wp_reset_postdata()
надо только в том случае, если вы изменили $post
виа setup_post_data()
.
Подробнее на великолепной картинке http://codex.wordpress.org/Function_Reference/query_posts