Title: WP_Customize_Nav_Menu_Item_Setting::value
Published: August 18, 2015
Last modified: February 24, 2026

---

# WP_Customize_Nav_Menu_Item_Setting::value(): array|false

## In this article

 * [Description](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#description)
    - [See also](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#see-also)
 * [Return](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#wp--skip-link--target)

Get the instance data for a given nav_menu_item setting.

## 󠀁[Description](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#description)󠁿

### 󠀁[See also](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#see-also)󠁿

 * [wp_setup_nav_menu_item()](https://developer.wordpress.org/reference/functions/wp_setup_nav_menu_item/)

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#return)󠁿

 array|false Instance data array, or false if the item is marked for deletion.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#source)󠁿

    ```php
    public function value() {
    	$type_label = null;
    	if ( $this->is_previewed && get_current_blog_id() === $this->_previewed_blog_id ) {
    		$undefined  = new stdClass(); // Symbol.
    		$post_value = $this->post_value( $undefined );

    		if ( $undefined === $post_value ) {
    			$value = $this->_original_value;
    		} else {
    			$value = $post_value;
    		}
    	} elseif ( isset( $this->value ) ) {
    		$value = $this->value;
    	} else {
    		$value = false;

    		// Note that an ID of less than one indicates a nav_menu not yet inserted.
    		if ( $this->post_id > 0 ) {
    			$post = get_post( $this->post_id );
    			if ( $post && self::POST_TYPE === $post->post_type ) {
    				$is_title_empty = empty( $post->post_title );
    				$value          = (array) wp_setup_nav_menu_item( $post );
    				if ( isset( $value['type_label'] ) ) {
    					$type_label = $value['type_label'];
    				}
    				if ( $is_title_empty ) {
    					$value['title'] = '';
    				}
    			}
    		}

    		if ( ! is_array( $value ) ) {
    			$value = $this->default;
    		}

    		// Cache the value for future calls to avoid having to re-call wp_setup_nav_menu_item().
    		$this->value = $value;
    		$this->populate_value();
    		$value = $this->value;
    	}

    	// These properties are read-only and are part of the setting for use in the Customizer UI.
    	if ( is_array( $value ) ) {
    		$value_obj               = (object) $value;
    		$value['type_label']     = isset( $type_label ) ? $type_label : $this->get_type_label( $value_obj );
    		$value['original_title'] = $this->get_original_title( $value_obj );
    	}

    	return $value;
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php#L211)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php#L211-L260)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#related)󠁿

| Uses | Description | 
| [WP_Customize_Nav_Menu_Item_Setting::get_type_label()](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/get_type_label/)`wp-includes/customize/class-wp-customize-nav-menu-item-setting.php` |

Get type label.

  | 
| [WP_Customize_Nav_Menu_Item_Setting::get_original_title()](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/get_original_title/)`wp-includes/customize/class-wp-customize-nav-menu-item-setting.php` |

Get original title.

  | 
| [WP_Customize_Nav_Menu_Item_Setting::populate_value()](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/populate_value/)`wp-includes/customize/class-wp-customize-nav-menu-item-setting.php` |

Ensure that the value is fully populated with the necessary properties.

  | 
| [wp_setup_nav_menu_item()](https://developer.wordpress.org/reference/functions/wp_setup_nav_menu_item/)`wp-includes/nav-menu.php` |

Decorates a menu item object with the shared navigation menu item properties.

  | 
| [get_current_blog_id()](https://developer.wordpress.org/reference/functions/get_current_blog_id/)`wp-includes/load.php` |

Retrieves the current site ID.

  | 
| [get_post()](https://developer.wordpress.org/reference/functions/get_post/)`wp-includes/post.php` |

Retrieves post data given a post ID or post object.

  |

[Show 2 more](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#)

| Used by | Description | 
| [WP_Customize_Nav_Menu_Item_Setting::filter_wp_get_nav_menu_items()](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/filter_wp_get_nav_menu_items/)`wp-includes/customize/class-wp-customize-nav-menu-item-setting.php` |

Filters the [wp_get_nav_menu_items()](https://developer.wordpress.org/reference/functions/wp_get_nav_menu_items/) result to supply the previewed menu items.

  | 
| [WP_Customize_Nav_Menu_Item_Setting::value_as_wp_post_nav_menu_item()](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value_as_wp_post_nav_menu_item/)`wp-includes/customize/class-wp-customize-nav-menu-item-setting.php` |

Get the value emulated into a [WP_Post](https://developer.wordpress.org/reference/classes/wp_post/) and set up as a nav_menu_item.

  | 
| [WP_Customize_Nav_Menu_Item_Setting::preview()](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/preview/)`wp-includes/customize/class-wp-customize-nav-menu-item-setting.php` |

Handle previewing the setting.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_item_setting/value/?output_format=md#changelog)󠁿

| Version | Description | 
| [4.3.0](https://developer.wordpress.org/reference/since/4.3.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_customize_nav_menu_item_setting%2Fvalue%2F)
before being able to contribute a note or feedback.