Here is the general logic that can be used to fetch the child custom posts
What I’ve assumed here is, You create a county
post, then you create a area
post and from parent metabox you select the desired county
post and save the post id in post_parent
function wpse_128630_cp( $post_type="county", $post_parent="", $posts_per_page = -1 ){
$args = array(
'post_type' => $post_type,
'post_status' => 'publish',
'posts_per_page' => $posts_per_page,
'post_parent' => $post_parent ,
'order' => 'desc'
);
$menu = new WP_Query( $args );
if(!empty($menu)) { return $menu;}
else{
//To debug, uncomment below code
//echo "<pre>";
//print_r($menu);
//echo "</pre>";
}
}
<ul class="wpse-parent menu">
<?php $menu = wpse_128630_cp();
while ( $menu->have_posts() ) : $menu->the_post(); ?>
<li class="menu-item">
<a href="https://wordpress.stackexchange.com/questions/128630/<?php the_permalink(); ?>"><?php the_title(); ?></a> <?php
$submenu = wpse_128630_cp( 'area', get_the_ID() );
if(!empty($submenu)){ ?>
<ul class="wpse-sub-menu menu"> <?php
while ( $submenu->have_posts() ) : $submenu->the_post(); ?>
<li class="menu-item">
<a href="<?php $submenu->the_permalink(); ?>"><?php $submenu->the_title(); ?></a>
</li>
<?php endwhile; ?>
</ul><?php
}?>
</li>
<?php endwhile; ?>
</ul>