Remove All Items from a Wordpress Navigation Menu by Code
If you want to remove all items from a WordPress navigation menu, you may be have to do a lot of clicks. Another option might be using this code snippet:
$menu_id = 12345 // modify this!
function cleody_empty_menu($menu_id)
{
$items = wp_get_nav_menu_items($menu_id);
foreach ($items as $item) {
wp_delete_post($item->ID);
}
}
cleody_empty_menu($menu_id);
All you have to do is to modify the $menu_id variable and then add this code to your functions.php (or somewhere else, where it gets executed). After menu cleanup, you have to remove this code (or comment it out) – otherwise the menu gets wiped every time you open a page. As an addition you may add a special trigger, so the menu get wiped only if there is a special GET parameter, an option variable or something else.