Восстанавливает значение глобальной переменной $post
на первоначально используемое на текущей странице, которое она берет из другой глобальной переменной — $wp_query
.
Итак, значит функцию можно использовать после любых неосновных циклов вывода постов, которые никак не модифицируют переменную $wp_query
, к таким циклам как раз можно отнести WP_Query.
Нужна для правильной работы the_title()
, the_permalink()
, the_content()
, а также всех других функций, хоть как-то использующих $post
или, в частности, $post->ID
.
wp_reset_postdata()
Функция не принимает аргументов и ничего не возвращает.
Лежит в основе функции 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();