wp_reset_postdata () или wp_reset_query () после пользовательского цикла?

Чтение некоторых вещей о query_reset_postdata и query_reset_query меня смущает. Например:

  1. Нужно ли использовать вместе wp_reset_postdata и wp_reset_query вместе?

  2. http://www.poststat.us/properly-reset-wordpress-query/

Выше сказано, что вы должны использовать query_reset_postdata() при использовании «отдельных запросов». В примере 2 есть комментарий:

 WP_Query( $args ) = wp_reset_postdata(); 

А ТАКЖЕ

 query_posts ( $args ) = wp_reset_query(); 

И действительно, вы никогда не должны использовать wp_reset_query потому что вы не должны использовать query_posts !?

В WP Codex указано, что вы должны использовать wp_reset_query() после пользовательского цикла (первый пример) http://codex.wordpress.org/Function_Reference/wp_reset_query

Правильно ли код?

Solutions Collecting From Web of "wp_reset_postdata () или wp_reset_query () после пользовательского цикла?"

Разница между ними заключается в том, что

  • wp_reset_query() – убедитесь, что основной запрос был сброшен в исходный основной запрос
  • wp_reset_postdata() – гарантирует, что глобальная $post была восстановлена ​​в текущую должность в основном запросе.

Действительно, глядя на источник, вы увидите, что wp_reset_query() вызывает wp_reset_postdata() . Единственная разница между двумя этими словами:

 $GLOBALS['wp_query'] = $GLOBALS['wp_the_query']; 

wp_reset_query() ). Поэтому wp_reset_query() необходимо только в том случае, если эти два глобальных символа отличаются друг от друга, и это происходит только в том случае, если query_posts() был где-то использован.

Когда я должен их использовать?

Проще говоря:

  • wp_reset_postdata() – сразу после каждого пользовательского WP_Query()
  • wp_reset_query() – сразу после каждого цикла с использованием query_posts()

Должен ли я использовать wp_reset_query

Ну, да, но это необходимо только после использования query_posts() . Как вы указали, вы никогда не должны использовать query_posts() . Поэтому, если вы никогда не используете query_posts() , нет необходимости вызывать wp_reset_query() (вместо wp_reset_postdata() .

Короче говоря, это не значит, что вы не должны использовать wp_reset_query() вместо wp_reset_postdata() , это вам никогда не понадобится!