clean_post_cache

函数
clean_post_cache ( $post )
参数
  • (int|WP_Post) $post Post ID or post object to remove from the cache.
    Required:
定义位置
相关方法
clean_user_cacheclean_term_cacheclean_page_cacheclean_blog_cacheclean_comment_cache
引入
2.0.0
弃用
-

clean_post_cache: 这个函数清除了文章的缓存。文章是WordPress中的单个内容,是博客流的一部分: 当这个函数被调用时,它清除了所有文章数据的缓存。

将清理缓存中的文章。

清理意味着从文章的缓存中删除。将调用清理与文章ID相关的术语对象缓存。

如果$_wp_suspend_cache_invalidation不是空的,这个函数不会运行。参见wp_suspend_cache_invalidation()。

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->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' );
}

常见问题

FAQs
查看更多 >