Как использовать функцию WP_IS_POST_REVISION() для определения ревизий постов

# WP_IS_POST_REVISION() │ WP 2.6.0

Функция WP_IS_POST_REVISION() используется для определения, является ли указанный пост ревизией (то есть изменением или сохранением предыдущей версии поста).

## Использование функции

Эта функция использует wp_get_post_revision(), и ее эффективность измеряется так:
- 1 раз — 0.000741 секунды (медленно)
- 50000 раз — 1.31 секунды (быстро)

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

Функция возвращает:
- ID родительской версии (ревизии) в случае успеха (тип int)
- false, если пост не является ревизией.

## Пример использования

Вот как выглядит вызов функции:

```php
wp_is_post_revision( $post );

Параметры

  • $post (тип: int|WP_Post, обязательный) — ID поста или объект поста.

Пример кода

Приведем пример использования функции wp_is_post_revision(), чтобы убедиться, что мы не редактируем ревизию поста перед добавлением метаданных:

function add_post_meta( $post_id, $meta_key, $meta_value, $unique = false ) {
    // Убедимся, что текущий пост не является ревизией.
    if ( $the_post = wp_is_post_revision( $post_id ) ) {
        $post_id = $the_post;
    }

    return add_metadata( 'post', $post_id, $meta_key, $meta_value, $unique );
}

Изменения

  • С версии 2.6.0 — данная функция была добавлена в WordPress.

Исходный код функции

Вот код функции wp_is_post_revision() из файла wp-includes/revision.php:

function wp_is_post_revision( $post ) {
    $post = wp_get_post_revision( $post );

    if ( ! $post ) {
        return false;
    }

    return (int) $post->post_parent;
}

Связанные функции

Функции, которые могут быть полезны в работе с ревизиями постов:

  • wp_get_post_revision()
  • wp_get_post_revisions()
  • wp_revisions_enabled()
  • wp_revisions_to_keep()
  • wp_save_post_revision()
  • wp_text_diff()

Условные теги

Также есть условные теги, которые могут помочь в различных случаях использования WordPress:

  • cat_is_ancestor_of()
  • category_exists()
  • comments_open()
  • ...и другие!

Эти теги позволяют проверять различные состояния и атрибуты контента и постов в WordPress.

Заключение

Функция wp_is_post_revision() — полезный инструмент для работы с версиями постов. Позволяет избежать редактирования старых версий и убедиться, что вы работаете с актуальной информацией.

Leave a Reply

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