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 50 of 50
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_terms_last_changed(); }