Highlight Menu Item for Custom Post Types

add_filter( 'nav_menu_css_class', 'namespace_menu_classes', 10, 2 );
function namespace_menu_classes( $classes , $item ){
	if ( get_post_type() == 'event' || is_archive( 'event' ) ) {
		// remove that unwanted classes if it's found
		$classes = str_replace( 'current_page_parent', '', $classes );
		// find the url you want and add the class you want
		if ( $item->url == '/events' ) {
			$classes = str_replace( 'menu-item', 'menu-item current_page_item', $classes );
			remove_filter( 'nav_menu_css_class', 'namespace_menu_classes', 10, 2 );
		}
	}
	return $classes;
}

Source