clean_post_cache()

最后更新于:2021-11-25 20:34:18

clean_post_cache( int|GC_Post$post)

Will clean the post in the cache.

参数

$post

(int|GC_Post) (Required) Post ID or post object to remove from the cache.

源文件

文件: gc-includes/post.php

function clean_post_cache( $post ) {
	global $_gc_suspend_cache_invalidation;

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

	$post = get_post( $post );

	if ( ! $post ) {
		return;
	}

	gc_cache_delete( $post->ID, 'posts' );
	gc_cache_delete( $post->ID, 'post_meta' );

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

	gc_cache_delete( 'gc_get_archives', 'general' );

	/**
	 * Fires immediately after the given post's cache is cleaned.
	 *
	 * @since 2.5.0
	 *
	 * @param int     $post_id Post ID.
	 * @param GC_Post $post    Post object.
	 */
	do_action( 'clean_post_cache', $post->ID, $post );

	if ( 'page' === $post->post_type ) {
		gc_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 );
	}

	gc_cache_set( 'last_changed', microtime(), 'posts' );
}