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;
}