用途は少ないかもしれませんが、クライアントワークで必要だったのでカスタムメニューに登録された項目の中でカテゴリのみを取得する方法を考えました。
コードは以下の通り。
if (! function_exists('get_nav_menu_category')):
function get_nav_menu_category($menu = ''){
if(!$menu_obj = wp_get_nav_menu_object($menu))
return FALSE;
$cats = array_map(function($obj){
if($obj->object == 'category')
return $obj;
}, wp_get_nav_menu_items($menu_obj->term_id));
$cats = array_filter($cats, 'strlen');
$cats = array_values($cats);
}
return $cats;
}
endif;
