wpseek.com
A WordPress-centric search engine for devs and theme authors
wp_get_associated_nav_menu_items › WordPress Function
Since3.0.0
Deprecatedn/a
› wp_get_associated_nav_menu_items ( $object_id = 0, $object_type = 'post_type', $taxonomy = '' )
| Parameters: (3) |
|
| Returns: |
|
| Defined at: |
|
| Codex: |
Returns the menu items associated with a particular object.
Related Functions: wp_get_nav_menu_items, wp_save_nav_menu_items, _sort_nav_menu_items, wp_update_nav_menu_item, wp_setup_nav_menu_item
Source
function wp_get_associated_nav_menu_items( $object_id = 0, $object_type = 'post_type', $taxonomy = '' ) {
$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 );
}