How to Get Assigned Menu Location with get_nav_menu_locations in WordPress

Home » Snippets » How to Get Assigned Menu Location with get_nav_menu_locations in WordPress

Created with:



Creator: WPTurbo Team

Customize with WPTurbo AI

Add Snippet To Project

New Project
Add To Existing Project

When it comes to creating dynamic menus in WordPress, the get_nav_menu_locations function is an invaluable tool. This function allows developers to retrieve the assigned menu location for a particular menu, providing flexibility and control over the navigation menu setup. In this article, we will explore the usage of the get_nav_menu_locations function and how it can enhance the customization of menu locations in WordPress. Whether you are a beginner or an experienced developer, this tutorial will provide you with the knowledge needed to effectively utilize get_nav_menu_locations in your WordPress projects.

					function wpturbo_get_assigned_menu_location() {
    $locations = get_nav_menu_locations();
    $assigned_menus = array();

    foreach ( $locations as $location => $menu_id ) {
        if ( $menu_id ) {
            $assigned_menus[$location] = wp_get_nav_menu_object( $menu_id );

    return $assigned_menus;

The provided code snippet illustrates how to retrieve the assigned menu location for each menu in WordPress using the get_nav_menu_locations() function.

First, the wpturbo_get_assigned_menu_location() function is defined. This function will be responsible for obtaining the assigned menu location for each menu.

Inside the function, we create an empty array called $assigned_menus to store the assigned menus and their corresponding locations.

Next, we use the get_nav_menu_locations() function to retrieve an array of menu locations and their assigned menu IDs. This function returns an associative array where the key represents the menu location and the value represents the menu ID.

We then iterate over this array using a foreach loop. For each location and menu ID pair, we check if a menu is assigned to that location by using the if ($menu_id) condition. If a menu is assigned, we proceed to retrieve the menu object using the wp_get_nav_menu_object() function and store it in the $assigned_menus array, with the location as the key.

Finally, we return the $assigned_menus array, which now contains the assigned menu objects for each assigned location.

By using this code snippet, you can easily retrieve the assigned menu location for each menu in WordPress, allowing you to customize and manipulate the menus in specific locations as needed.

Register an account to save your snippets or go Pro to get more features.