wp_reset_postdata() — восстанавливает значение глобальной переменной $post

Восстанавливает значение глобальной переменной $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();

Комментарии 2

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • alex morozov: Добрый вечер! у меня возникла следующая проблема. Я делаю фотоальбомы, чтобы они выглядели "как в контакте". Так вот, та...

  • Vladislav: Если эту муть убрать, то исчезает меню, и появляется описание под миниатюрами, которого не должно быть, как вы видите, я...

  • Миша: Либо размеры изображений вам помогут, либо CSS. И строку 14 гляньте, там муть какая-то.

  • Vladislav: Подправил имеющийся у меня код, по вашим рекомендациям, миниатюры начали отображаться, но они стали очень огромными, что...

  • Миша: Лишь предложил решение. Думаю можно нашаманить и так, чтобы чисто для рубрик было, не уверен только, что обойдётся без и...