Title: WP_Customize_Nav_Menu_Setting::preview
Published: August 18, 2015
Last modified: February 24, 2026

---

# WP_Customize_Nav_Menu_Setting::preview(): bool

## In this article

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

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

Handle previewing the setting.

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

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

 * [WP_Customize_Manager::post_value()](https://developer.wordpress.org/reference/classes/WP_Customize_Manager/post_value/)

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

 bool False if method short-circuited due to no-op.

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

    ```php
    public function preview() {
    	if ( $this->is_previewed ) {
    		return false;
    	}

    	$undefined      = new stdClass();
    	$is_placeholder = ( $this->term_id < 0 );
    	$is_dirty       = ( $undefined !== $this->post_value( $undefined ) );
    	if ( ! $is_placeholder && ! $is_dirty ) {
    		return false;
    	}

    	$this->is_previewed       = true;
    	$this->_original_value    = $this->value();
    	$this->_previewed_blog_id = get_current_blog_id();

    	add_filter( 'wp_get_nav_menus', array( $this, 'filter_wp_get_nav_menus' ), 10, 2 );
    	add_filter( 'wp_get_nav_menu_object', array( $this, 'filter_wp_get_nav_menu_object' ), 10, 2 );
    	add_filter( 'default_option_nav_menu_options', array( $this, 'filter_nav_menu_options' ) );
    	add_filter( 'option_nav_menu_options', array( $this, 'filter_nav_menu_options' ) );

    	return true;
    }
    ```

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

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

| Uses | Description | 
| [WP_Customize_Nav_Menu_Setting::value()](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_setting/value/)`wp-includes/customize/class-wp-customize-nav-menu-setting.php` |

Get the instance data for a given widget setting.

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

Retrieves the current site ID.

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

Adds a callback function to a filter hook.

  |

[Show 1 more](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_setting/preview/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_customize_nav_menu_setting/preview/?output_format=md#)

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

| Version | Description | 
| [4.4.0](https://developer.wordpress.org/reference/since/4.4.0/) | Added boolean return value | 
| [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_setting%2Fpreview%2F)
before being able to contribute a note or feedback.