For anyone who might be looking for the same thing, this is what I did in the end:
I abandoned the Custom Walker idea and used wp_get_nav_menu_items
to get a list of post IDs from my custom menu, from this tutorial on Digging into WordPress: http://digwp.com/2011/11/html-formatting-custom-menus/
In my functions file, I created this function:
function salamander_fetch_advent_posts() {
global $post_list;
$menu_name="advent-calendar"; // specify custom menu slug
if ( ($locations = get_nav_menu_locations() ) && isset( $locations[$menu_name] ) ) {
$menu = wp_get_nav_menu_object($locations[$menu_name]);
$menu_items = wp_get_nav_menu_items($menu->term_id);
$post_list = array();
foreach ((array) $menu_items as $key => $menu_item) {
$post_id = $menu_item->object_id;
$post_list[] = $post_id;
}
}
return $post_list ;
}
And then in my theme template file, I passed $post_list
to a new query, like so:
global $post_list;
if (function_exists( salamander_fetch_advent_posts() )) {
salamander_fetch_advent_posts();
}
// The Query
$the_query = new WP_Query( array(
'post__in' => $post_list,
'post_type' => 'any',
'posts_per_page' => -1
) ) ;
// The Loop
while ( $the_query->have_posts() ) : $the_query->the_post();
echo '<li>';
the_title();
echo '</li>';
endwhile;
// Reset Post Data
wp_reset_postdata();