브레드크럼을 출력할 때 유용하다.
/** * 현재 페이지, 포스트, 카테고리의 메뉴에서의 위치를 파악해서 메뉴 아이템을 반환. * @return array */ function plus21_get_menu_item_info(){ $queried_object = get_queried_object(); if(isset($queried_object->taxonomy)){ $object = $queried_object->taxonomy; $object_id = $queried_object->term_id; }else if(isset($queried_object->post_type)){ $object = $queried_object->post_type; $object_id = $queried_object->ID; } if($queried_object->post_type == 'post'){ $object = 'category'; // TODO 포스트가 속한 카테고리 ID를 가져와야 한다. $object_id = $queried_object->ID; } $menu_items = wp_get_nav_menu_items('basic'); $info = array(); foreach ($menu_items as $item) { if($item->object == $object AND $item->object_id == $object_id){ $info['current'] = $item; } } foreach ($menu_items as $item) { if($item->ID == $info['current']->menu_item_parent){ $info['parent'] = $item; } } return $info; }
댓글 남기기