add_action( 'rest_api_init', function () {
register_rest_route( 'myroutes', '/menu', array(
'methods' => 'GET',
'callback' => 'wp_menu_route',
) );
} );
function wp_menu_route() {
$menuLocations = get_nav_menu_locations();
$menuID = $menuLocations['primary'];
register_nav_menus();
$primaryNav = wp_get_nav_menu_items($menuID);
if($primaryNav){
foreach($primaryNav as $index=>$singlenav){
if($singlenav->type=='post_type'){
$primaryNav[$index]->slug=get_post_url($singlenav->url);
$primaryNav[$index]->page_template=get_selected_page_template($singlenav->url);
}
}
}
return $primaryNav;
}
function get_post_url( $object ) {
$postid = url_to_postid($object);
$post_slug = get_post_field( 'post_name', $postid);
return stripslashes_deep($post_slug);
}
function get_selected_page_template( $object ) {
$postid = url_to_postid($object);
$page_template = get_post_field( '_wp_page_template', $postid);
return stripslashes_deep($page_template);
}