Removes the taxonomy relationship to terms from the cache.
Description
Will remove the entire taxonomy relationship containing term $object_id
. The term IDs have to exist within the taxonomy $object_type
for the deletion to take place.
See also
- get_object_taxonomies(): for more on $object_type.
Parameters
$object_ids
int|arrayrequired- Single or list of term object ID(s).
$object_type
array|stringrequired- The taxonomy object type.
Source
function clean_object_term_cache( $object_ids, $object_type ) {
global $_wp_suspend_cache_invalidation;
if ( ! empty( $_wp_suspend_cache_invalidation ) ) {
return;
}
if ( ! is_array( $object_ids ) ) {
$object_ids = array( $object_ids );
}
$taxonomies = get_object_taxonomies( $object_type );
foreach ( $taxonomies as $taxonomy ) {
wp_cache_delete_multiple( $object_ids, "{$taxonomy}_relationships" );
}
wp_cache_set_terms_last_changed();
/**
* Fires after the object term cache has been cleaned.
*
* @since 2.5.0
*
* @param array $object_ids An array of object IDs.
* @param string $object_type Object type.
*/
do_action( 'clean_object_term_cache', $object_ids, $object_type );
}
Hooks
- do_action( ‘clean_object_term_cache’,
array $object_ids ,string $object_type ) Fires after the object term cache has been cleaned.
Changelog
Version | Description |
---|---|
2.3.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.