WP_Customize_Nav_Menu_Setting::value()publicWP 4.3.0

Get the instance data for a given widget setting.

Method of the class: WP_Customize_Nav_Menu_Setting{}

No Hooks.

Return

Array. Instance data.

Usage

$WP_Customize_Nav_Menu_Setting = new WP_Customize_Nav_Menu_Setting();
$WP_Customize_Nav_Menu_Setting->value();

Notes

Changelog

Since 4.3.0 Introduced.

WP_Customize_Nav_Menu_Setting::value() code WP 6.5.2

public function value() {
	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;
		}
	} else {
		$value = false;

		// Note that a term_id of less than one indicates a nav_menu not yet inserted.
		if ( $this->term_id > 0 ) {
			$term = wp_get_nav_menu_object( $this->term_id );

			if ( $term ) {
				$value = wp_array_slice_assoc( (array) $term, array_keys( $this->default ) );

				$nav_menu_options  = (array) get_option( 'nav_menu_options', array() );
				$value['auto_add'] = false;

				if ( isset( $nav_menu_options['auto_add'] ) && is_array( $nav_menu_options['auto_add'] ) ) {
					$value['auto_add'] = in_array( $term->term_id, $nav_menu_options['auto_add'], true );
				}
			}
		}

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

	return $value;
}