clean_post_cache
Will clean the post in the cache.
Description
clean_post_cache( (int|WP_Post) $post );
Cleaning means delete from the cache of the post. Will call to clean the term object cache associated with the post ID.
This function not run if $_wp_suspend_cache_invalidation
is not empty. See wp_suspend_cache_invalidation(…)
.
Parameters (1)
- 0. $post (int|WP_Post)
- Post ID or post object to remove from the cache.
Usage
if ( !function_exists( 'clean_post_cache' ) ) { require_once ABSPATH . WPINC . '/post.php'; } // Post ID or post object to remove from the cache. $post = null; // NOTICE! Understand what this does before running. $result = clean_post_cache($post);
Defined (1)
The function is defined in the following location(s).
- /wp-includes/post.php
- function clean_post_cache( $post ) {
- global $_wp_suspend_cache_invalidation;
- if ( ! empty( $_wp_suspend_cache_invalidation ) )
- return;
- $post = get_post( $post );
- if ( empty( $post ) )
- return;
- wp_cache_delete( $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' );
- /**
- * Fires immediately after the given post's cache is cleaned.
- *
- * @since 2.5.0
- *
- * @param int $post_id Post ID.
- * @param WP_Post $post Post object.
- */
- do_action( 'clean_post_cache', $post->ID, $post );
- if ( 'page' == $post->post_type ) {
- wp_cache_delete( 'all_page_ids', 'posts' );
- /**
- * Fires immediately after the given page's cache is cleaned.
- *
- * @since 2.5.0
- *
- * @param int $post_id Post ID.
- */
- do_action( 'clean_page_cache', $post->ID );
- }
- wp_cache_set( 'last_changed', microtime(), 'posts' );
- }