WordPress at Your Fingertips
function is not described

clean_attachment_cache() WP 3.0.0

Will clean the attachment in the cache.

Cleaning means delete from the cache. Optionally will clean the term object cache associated with the attachment ID.

This function will not run if $_wp_suspend_cache_invalidation is not empty.

Hooks from the function

null. Nothing.


clean_attachment_cache( $id, $clean_terms );
$id(int) (required)
The attachment ID in the cache to clean.
Whether to clean terms cache.
Default: false


  • Global. true|false. $_wp_suspend_cache_invalidation


Since 3.0.0 Introduced.

Code of clean_attachment_cache() WP 5.7.2

function clean_attachment_cache( $id, $clean_terms = false ) {
	global $_wp_suspend_cache_invalidation;

	if ( ! empty( $_wp_suspend_cache_invalidation ) ) {

	$id = (int) $id;

	wp_cache_delete( $id, 'posts' );
	wp_cache_delete( $id, 'post_meta' );

	if ( $clean_terms ) {
		clean_object_term_cache( $id, 'attachment' );

	 * Fires after the given attachment's cache is cleaned.
	 * @since 3.0.0
	 * @param int $id Attachment ID.
	do_action( 'clean_attachment_cache', $id );