setup_postdata

Устанавливает глобальные данные поста. Нужен для удобного использования Тегов шаблона связанных с оформление поста: the_title(), the_permalink() и т.д.

Заполняет глобальные переменные: $id, $authordata, $currentday, $currentmonth, $page, $pages, $multipage, $more, $numpages. Они нужны для корректной работы Тегов Шаблона, которые должны использоваться внутри Цикла WordPress.

Функция не устанавливает глобальную переменную $post, а ожидает, что ей будет передана именно глобальная переменная $post. Переданная переменная будет использована в функции как ссылка (& $post).

Практически всегда, когда используется эта функция, после цикла нужно сбрасывать запрос с помощью wp_reset_postdata().
✈ 1 раз = 0.000149с = быстро | 50000 раз = 5.16с = быстро

Хуков нет.

Возвращает

Всегда возвращает true.

Использование

global $post;
setup_postdata( $post );
$post(объект/число) (обязательный)
Объект текущего поста или ID поста.
Важное замечание. Нужно передавать глобальную переменную $post иначе такие функции вроде the_title() работать не будут.

Примеры

#1 Как правильно передавать аргумент $post

<?php
function setup_postdata( $post ) {
	global $wp_query;

	if ( ! empty( $wp_query ) && $wp_query instanceof WP_Query ) {
		return $wp_query->setup_postdata( $post );
	}

	return false;
}

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


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

Your email address will not be published. Required fields are marked *