This fixed it for me: just add ‘nav_menu_item’ to the post types in the filter method provided above.
add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
if(is_category() || is_tag()) {
$post_type = get_query_var('post_type');
if($post_type)
$post_type = $post_type;
else
$post_type = array('nav_menu_item','post','articles');
$query->set('post_type',$post_type);
return $query;
}
}
Exact method I use: https://gist.github.com/1055880
EDIT: I meant ‘nav_menu_item’