브레드크럼을 출력할 때 유용하다.
/**
* 현재 페이지, 포스트, 카테고리의 메뉴에서의 위치를 파악해서 메뉴 아이템을 반환.
* @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;
}










댓글 남기기