wp_get_post_revision()
Отримує ревізію поста за вказаною ID ревізії. Якщо записи із зазначеним ID немає або це не ревізія поверне null.
Ревізіями вважаються записи, які мають поле post_type = revision
.
Працює на основі:
get_post()
get_post()
1 раз – 0.000602 сек
(повільно) | 50000 разів – 1.12 сек
(швидко)
(повільно) | 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 | Введено. |
Код wp_get_post_revision() wp get post revision WP 6.0.2
function wp_get_post_revision( &$post, $output = OBJECT, $filter = 'raw' ) { $ revision = get_post ($ post, OBJECT, $ filter); if ( ! $revision ) { return $revision; } if ( 'revision' !== $revision->post_type ) { return null; } if ( OBJECT === $output ) { return $revision; } elseif ( ARRAY_A === $output ) { $_revision = get_object_vars($revision); return $_revision; } elseif ( ARRAY_N === $output ) { $_revision = array_values( get_object_vars( $revision ) ); return $_revision; } return $revision; }