функция since 1.5.1

get_post()

Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.

Сигнатура

get_post( int|object|null $post = null, string $output = OBJECT, string $filter = 'raw' ): WP_Post|array|null

Описание

См. sanitize_post() для необязательных значений $filter. Кроме того, параметр $post должен передаваться в виде переменной, поскольку передаётся по ссылке.

Оригинал (английский)

See sanitize_post() for optional $filter values. Also, the parameter $post, must be given as a variable, since it is passed by reference.

Параметры

$post int|object|null необязательный = null
Идентификатор записи или объект записи. null, false, 0 и другие ложные значения PHP возвращают текущую глобальную запись внутри цикла. Числовой корректный идентификатор записи, указывающий на несуществующую запись, возвращает null. По умолчанию — глобальная переменная $post.
$output string необязательный = OBJECT
Требуемый тип возвращаемого значения. Одно из OBJECT, ARRAY_A или ARRAY_N, что соответствует объекту WP_Post, ассоциативному массиву или числовому массиву соответственно.
$filter string необязательный = 'raw'
Тип применяемого фильтра. Принимает 'raw', 'edit', 'db' или 'display'. По умолчанию 'raw'.

Возвращаемое значение

WP_Post|array|null

WP_Post

Исходный код

wp-includes/post.php:1114

function get_post( $post = null, $output = OBJECT, $filter = 'raw' ) {
	if ( empty( $post ) && isset( $GLOBALS['post'] ) ) {
		$post = $GLOBALS['post'];
	}

	if ( $post instanceof WP_Post ) {
		$_post = $post;
	} elseif ( is_object( $post ) ) {
		if ( empty( $post->filter ) ) {
			$_post = sanitize_post( $post, 'raw' );
			$_post = new WP_Post( $_post );
		} elseif ( 'raw' === $post->filter ) {
			$_post = new WP_Post( $post );
		} elseif ( isset( $post->ID ) ) {
			$_post = WP_Post::get_instance( $post->ID );
		} else {
			$_post = null;
		}
	} else {
		$_post = WP_Post::get_instance( $post );
	}

	if ( ! $_post ) {
		return null;
	}

	$_post = $_post->filter( $filter );

	if ( ARRAY_A === $output ) {
		return $_post->to_array();
	} elseif ( ARRAY_N === $output ) {
		return array_values( $_post->to_array() );
	}

	return $_post;
}

История изменений

ВерсияОписание
1.5.1 Introduced.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.