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

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Восстанавливает значение глобальной переменной $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();
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии