WP_Customize_Nav_Menu_Item_Setting::preview()

Handle previewing the setting.


Description Description


Return Return

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


Top ↑

Source Source

File: wp-includes/customize/class-wp-customize-nav-menu-item-setting.php

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

		$undefined = new stdClass();
		$is_placeholder = ( $this->post_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->original_nav_menu_term_id = $this->_original_value['nav_menu_term_id'];
		$this->_previewed_blog_id        = get_current_blog_id();

		add_filter( 'wp_get_nav_menu_items', array( $this, 'filter_wp_get_nav_menu_items' ), 10, 3 );

		$sort_callback = array( __CLASS__, 'sort_wp_get_nav_menu_items' );
		if ( ! has_filter( 'wp_get_nav_menu_items', $sort_callback ) ) {
			add_filter( 'wp_get_nav_menu_items', array( __CLASS__, 'sort_wp_get_nav_menu_items' ), 1000, 3 );
		}

		// @todo Add get_post_metadata filters for plugins to add their data.

		return true;
	}

Top ↑

Changelog Changelog

Changelog
Version Description
4.4.0 Added boolean return value.
4.3.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.