This method will give you a select menu of active blogs.
function list_all_blogs() {
global $wpdb;
$query = "SELECT blog_id FROM " . $wpdb->base_prefix . "blogs WHERE spam != '1' AND archived != '1' AND deleted != '1' AND public="1" AND blog_id != '1' ORDER BY path";
$blogs = $wpdb->get_results($query);
echo '<select id="blog-select">';
foreach($blogs as $blog) {
$blog_details = get_blog_details($blog->blog_id);
echo '<option value="'. $blog_details->siteurl .'">' . $blog_details->blogname .'</option>';
}
echo '</select>';
}
//call the method
list_all_blogs();
You’ll need to create a script to navigate to the page on menu select. Something like this:
<script>
$(document).ready(function($){
$('#blog-select').change(function(){
window.location.replace( $(this).val() );
});
});
</script>
There are definitely other ways to accomplish this and perhaps more effecient approaches but I hope this helps.