Функция CLEAN_POST_CACHE() в WordPress 2.0.0: очистка кэша поста

# Функция CLEAN_POST_CACHE() │ WP 2.0.0

Функция clean_post_cache() очищает кэш поста.

## Что такое очистка кэша?

Очистка кэша означает удаление данных о посте из временного хранилища (кэша). Эта функция также очищает кэш связанных с постом объектов.

Обратите внимание, что функция не будет выполнена, если переменная $_wp_suspend_cache_invalidation не пуста. Для получения подробной информации смотрите функцию wp_suspend_cache_invalidation().

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

- wp_cache_delete()
- clean_object_term_cache()

## Хуки функции

- clean_post_cache
- clean_page_cache

## Возврат функции

- Возвращает null. То есть, никакого значения.

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

Вот базовый синтаксис функции:
```php
clean_post_cache( $post );

Параметры:

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

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

Удаление кэша объекта поста

Предположим, мы редактируем пост с ID 25 и нам нужно очистить его кэш:

$id = 25;
clean_post_cache( $id );

Заметки

  • Глобальная переменная: $_wp_suspend_cache_invalidation может быть true или false.

История изменений

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

Код функции

Вот как выглядит код функции clean_post_cache() в версии WP 6.7.2:


function clean_post_cache( $post ) {
global $_wp_suspend_cache_invalidation;

if ( ! empty( $_wp_suspend_cache_invalidation ) ) {
    return;
}

$post = get_post( $post );

if ( ! $post ) {
    return;
}

wp_cache_delete( $post->ID, 'posts' );
wp_cache_delete( 'post_parent:' . (string) $post->ID, 'posts' );
wp_cache_delete( $post->ID, 'post_meta' );

clean_object_term_cache( $post->ID, $post->post_type );

wp_cache_delete( 'wp_get_archives', 'general' );

do_action( 'clean_post_cache', $post->ID, $post );

if ( 'page' === $post->post_type ) {
    wp_cache_delete( 'all_page_ids', 'posts' );

    do_action( 'clean_page_cache', $post->ID );
}

wp_cache_set_posts_last_changed();

}

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

Кэш объектов (Caching)

  • Похожие функции:
    • _prime_post_caches()
    • clean_comment_cache()
    • clean_user_cache()
    • wp_cache_add()
    • wp_cache_add_global_groups()
    • wp_cache_add_non_persistent_groups()
    • wp_cache_decr()
    • wp_cache_delete()
    • wp_cache_flush()
    • wp_cache_flush_runtime()
    • wp_cache_get()
    • wp_cache_get_last_changed()
    • wp_cache_incr()
    • wp_cache_replace()
    • wp_cache_set()
    • wp_clean_update_cache()
    • WP_Embed::delete_oembed_caches()
    • wp_using_ext_object_cache()

Leave a Reply

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