Remove drafts from main_nav
<?php
/* REMOVE DRAFTS FROM MENU */
function jj_filter_private_pages_from_menu ($items, $args) {
foreach ($items as $ix => $obj) {
if ('draft' == get_post_status ($obj->object_id)) {
unset ($items[$ix]);
}
}
return $items;
}
add_filter ('wp_nav_menu_objects', 'jj_filter_private_pages_from_menu', 10, 2);