Как использовать wp_get_post_revisions() в WordPress 2.6.0

# WP_GET_POST_REVISIONS() │ WP 2.6.0

Функция wp_get_post_revisions() возвращает все версии (репозиторий) заданной записи в WordPress. 

## Используемые функции

- get_children()

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

### Возвращаемое значение

Функция возвращает массив объектов версий записей (WP_Post[]) или их ID (Int[]). Если версий нет, возвращается пустой массив.

### Синтаксис

```php
wp_get_post_revisions( $post, $args );
  • $post (int|WP_Post): ID записи или объект WP_Post.
    • По умолчанию: глобальная переменная $post
  • $args (array|null): Аргументы для получения версий записей.
    • По умолчанию: null

Примеры

Пример 1: Получение последней версии записи

$post_id = 999; 
$revisions = wp_get_post_revisions( $post_id );

$last_revision = false;

// Получаем последнюю версию, исключая авто-сохранения
foreach ( $revisions as $revision ) {
    if ( false !== strpos( $revision->post_name, "{$revision->post_parent}-revision" ) ) {
        $last_revision = $revision;
        break;
    }
}

Пример 2: Что возвращает функция

$revisions = wp_get_post_revisions( 128 );

/* 
Версии записей 128
Array (
    [22] => WP_Post Object (
            [ID]                    => 22
            [post_author]           => 0
            [post_date]             => 2017-02-21 01:41:45
            [post_date_gmt]         => 2017-02-20 22:41:45
            [post_content]          => Содержимое версии ...
            [post_title]            => Рецепт мороженого
            [post_status]           => inherit
            [post_parent]           => 128
            [guid]                  => http://example.com/recept-morojenogo/128-revision-v1.html
            [post_type]             => revision
        )
    [19] => WP_Post Object (
            [ID]                    => 19
            // Данные версии
        )
    [12] => WP_Post Object (
            // Данные версии
        )
)
*/

Примечания

  • Для получения версий используется функция get_children().

Обновления

Функция была введена в версии 2.6.0.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *