clean_term_cache() – Removes all of the term IDs from the cache.

You appear to be a bot. Output may be restricted

Description

Removes all of the term IDs from the cache.

Usage

clean_term_cache( $ids, $taxonomy, $clean_taxonomy );

Parameters

$ids
( int|int[] ) required – Single or array of term IDs.
$taxonomy
( string ) optional – Optional. Taxonomy slug. Can be empty, in which case the taxonomies of the passed term IDs will be used. Default empty.
$clean_taxonomy
( bool ) optional default: 1 – Optional. Whether to clean taxonomy wide caches (true), or just individual term object caches (false). Default true.

Returns

void

Source

File name: wordpress/wp-includes/taxonomy.php


Lines:

1 to 52 of 52
function clean_term_cache( $ids, $taxonomy = '', $clean_taxonomy = true ) {
  global $wpdb, $_wp_suspend_cache_invalidation;

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

  if ( ! is_array( $ids ) ) {
    $ids = array( $ids );
  }

  $taxonomies = array();
  // If no taxonomy, assume tt_ids.
  if ( empty( $taxonomy ) ) {
    $tt_ids = array_map( 'intval', $ids );
    $tt_ids = implode( ', ', $tt_ids );
    $terms  = $wpdb->get_results( "SELECT term_id, taxonomy FROM $wpdb->term_taxonomy WHERE term_taxonomy_id IN ($tt_ids)" );
    $ids    = array();

    foreach ( (array) $terms as $term ) {
      $taxonomies[] = $term->taxonomy;
      $ids[]        = $term->term_id;
    }
    wp_cache_delete_multiple( $ids, 'terms' );
    $taxonomies = array_unique( $taxonomies );
  } else {
    wp_cache_delete_multiple( $ids, 'terms' );
    $taxonomies = array( $taxonomy );
  }

  foreach ( $taxonomies as $taxonomy ) {
    if ( $clean_taxonomy ) {
      clean_taxonomy_cache( $taxonomy );
    }

    
/**
 * Fires once after each taxonomy's term cache has been cleaned.
 *
 * @since 2.5.0
 * @since 4.5.0 Added the `$clean_taxonomy` parameter.
 *
 * @param array  $ids            An array of term IDs.
 * @param string $taxonomy       Taxonomy slug.
 * @param bool   $clean_taxonomy Whether or not to clean taxonomy-wide caches
 */
    do_action( 'clean_term_cache', $ids, $taxonomy, $clean_taxonomy );
  }

  wp_cache_set( 'last_changed', microtime(), 'terms' );
}
 

 View on GitHub View on Trac