wp_get_post_revision()
Получает ревизию поста по указанной ID ревизии. Если записи с указанным ID нет или это не ревизия вернет null.
Ревизиями считаются записи, у которых поле post_type = revision.
Работает на основе: get_post()
Основа для: wp_is_post_autosave(), wp_is_post_revision()
1 раз — 0.000602 сек (медленно) | 50000 раз — 1.12 сек (быстро)
Хуков нет.
Возвращает
WP_Post|Массив|null.
WP_Postпри успехе, если $output = OBJECT.массивпри успехе, если $output = ARRAY_A или ARRAY_N.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 Получим объект записи (WP_Post), который должен быть ревизией записи
$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://example.com/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;
}
Список изменений
| С версии 2.6.0 | Введена. |