update_menu_item_cache()
Updates post and term caches for all linked objects for a list of menu items.
No Hooks.
Returns
null. Nothing (null).
Usage
update_menu_item_cache( $menu_items );
- $menu_items(WP_Post[]) (required)
- Array of menu item post objects.
Changelog
| Since 6.1.0 | Introduced. |
update_menu_item_cache() update menu item cache code WP 7.0
function update_menu_item_cache( $menu_items ) {
$post_ids = array();
$term_ids = array();
foreach ( $menu_items as $menu_item ) {
if ( 'nav_menu_item' !== $menu_item->post_type ) {
continue;
}
$object_id = get_post_meta( $menu_item->ID, '_menu_item_object_id', true );
$type = get_post_meta( $menu_item->ID, '_menu_item_type', true );
if ( 'post_type' === $type ) {
$post_ids[] = (int) $object_id;
} elseif ( 'taxonomy' === $type ) {
$term_ids[] = (int) $object_id;
}
}
if ( ! empty( $post_ids ) ) {
_prime_post_caches( $post_ids, false );
}
if ( ! empty( $term_ids ) ) {
_prime_term_caches( $term_ids );
}
}