Wp_reset_postdata() - функция WordPress
02.09.2018
Восстанавливает значение глобальной переменной $post на первоначально используемое на текущей странице, которое она берет из другой глобальной переменной — $wp_query.
wp_reset_query, wp_reset_postdata, rewind_posts
Итак, значит функцию можно использовать после любых неосновных циклов вывода постов, которые никак не модифицируют переменную $wp_query, к таким циклам как раз можно отнести WP_Query .
Нужна для правильной работы the_title(), the_permalink(), the_content(), а также всех других функций, хоть как-то использующих $post или, в частности, $post->ID.
Wordpress - Custom Post Types and Custom Templates
Функция не принимает аргументов и ничего не возвращает.
Лежит в основе функции wp_reset_query() .
Пример использования после цикла WP_Query
В этом примере выводим блок случайных постов:
$q = new WP_Query ( 'posts_per_page=5&orderby=rand' ) ; if ( $q -> have_posts ( ) ) : while ( $q -> have_posts ( ) ) : $q -> the_post ( ) ; /* например анонс записи и ссылка */ endwhile ; endif ; wp_reset_postdata ( ); |