Поддержка Проблемы и решения wp_reset_postdata и wp_reset_query

  • Всем привет, прочитал уже много документации, но не могу понять в каких случаях надо использовать wp_reset_postdata, а в каких wp_reset_query, может кто то может объяснить?)

Просмотр 1 ответа (всего 1)
  • Если только кратко 😛

    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

Просмотр 1 ответа (всего 1)
  • Тема «wp_reset_postdata и wp_reset_query» закрыта для новых ответов.