Summery Summery
Get the menu items associated with a particular object.
Syntax Syntax
Parameters Parameters
- $object_id
-
(Required) The ID of the original object.
- $object_type
-
(Optional) The type of object, such as 'taxonomy' or 'post_type'.
Default value: 'post_type'
- $taxonomy
-
(Optional) If $object_type is 'taxonomy', $taxonomy is the name of the tax that $object_id belongs to.
Default value: ''
Return Return
(int[]) The array of menu item IDs; empty array if none;
Source Source
File: wp-includes/nav-menu.php
$object_id = (int) $object_id; $menu_item_ids = array(); $query = new WP_Query; $menu_items = $query->query( array( 'meta_key' => '_menu_item_object_id', 'meta_value' => $object_id, 'post_status' => 'any', 'post_type' => 'nav_menu_item', 'posts_per_page' => -1, ) ); foreach ( (array) $menu_items as $menu_item ) { if ( isset( $menu_item->ID ) && is_nav_menu_item( $menu_item->ID ) ) { $menu_item_type = get_post_meta( $menu_item->ID, '_menu_item_type', true ); if ( 'post_type' === $object_type && 'post_type' === $menu_item_type ) { $menu_item_ids[] = (int) $menu_item->ID; } elseif ( 'taxonomy' === $object_type && 'taxonomy' === $menu_item_type && get_post_meta( $menu_item->ID, '_menu_item_object', true ) == $taxonomy ) { $menu_item_ids[] = (int) $menu_item->ID; } } } return array_unique( $menu_item_ids ); }
Advertisement
Changelog Changelog
Version | Description |
---|---|
3.0.0 | Introduced. |