WordPress как на ладони
wordpress jino

wp_get_post_revision() WP 2.6.0

Получает ревизию поста по указанной ID ревизии. Если записи с указанным ID нет или это не ревизия вернет null.

Используется в: wp_is_post_revision().
Работает на основе: get_post()
✈ 1 раз = 0.000602с = медленно | 50000 раз = 1.12с = быстро

Хуков нет.

Возвращает

WP_Post/массив/null. Null в случае ошибки, объект поста при успехе.

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

wp_get_post_revision( $post, $output, $filter );
$post(число/WP_Post) (обязательный)
ID или объект ревизии записи.
$output(строка)
В каком виде возвращать данные. Может быть: OBJECT, ARRAY_A (ассоциативный массив) или ARRAY_N (пронумерованный массив).
По умолчанию: OBJECT
$filter(строка)
Как очищать возвращаемые поля. Смотрите: sanitize_post_field().
По умолчанию: 'raw'

Примеры

#1 Получим объект записи, который должен быть ревизией записи

$revision_id = 15;
$revision = wp_get_post_revision( $revision_id );

if( $revision ){
	// да это ревизия
	print_r( $revision );
}

/* Выведет
WP_Post Object
(
	[ID] => 1008
	[post_author] => 1
	[post_date] => 2015-08-26 19:15:42
	[post_date_gmt] => 2015-08-26 15:15:42
	[post_content] => Контент
	[post_title] => Основные способы образования
	[post_excerpt] => 
	[post_status] => inherit
	[comment_status] => closed
	[ping_status] => closed
	[post_password] => 
	[post_name] => 997-revision-v1
	[to_ping] => 
	[pinged] => 
	[post_modified] => 2015-08-26 19:15:42
	[post_modified_gmt] => 2015-08-26 15:15:42
	[post_content_filtered] => 
	[post_parent] => 997
	[guid] => http://online.ru/997-revision-v1/
	[menu_order] => 0
	[post_type] => revision
	[post_mime_type] => 
	[comment_count] => 0
	[filter] => raw
)
*/

#2 Проверка является ли пост ревизией

Код функции wp_is_post_revision(), в котором видно как работает эта функция:

function wp_is_post_revision( $post ) {
	if ( !$post = wp_get_post_revision( $post ) )
		return false;

	return (int) $post->post_parent;
}

Код wp get post revision: wp-includes/revision.php WP 4.8.2

<?php
function wp_get_post_revision(&$post, $output = OBJECT, $filter = 'raw') {
	if ( !$revision = get_post( $post, OBJECT, $filter ) )
		return $revision;
	if ( 'revision' !== $revision->post_type )
		return null;

	if ( $output == OBJECT ) {
		return $revision;
	} elseif ( $output == ARRAY_A ) {
		$_revision = get_object_vars($revision);
		return $_revision;
	} elseif ( $output == ARRAY_N ) {
		$_revision = array_values(get_object_vars($revision));
		return $_revision;
	}

	return $revision;
}

Cвязанные функции

Из метки: post revision (ревизии, редакции записи)

wp_get_post_revision Комментариев нет

Здравствуйте, !

Ваш комментарий