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 | Введена. |