WP_Customize_Nav_Menu_Item_Setting::__construct() WordPress Method
The WP_Customize_Nav_Menu_Item_Setting::__construct() method is used to create a new customizer setting for a navigation menu item.
WP_Customize_Nav_Menu_Item_Setting::__construct( WP_Customize_Manager $manager, string $id, array $args = array() ) #
Constructor.
Description
Any supplied $args override class property defaults.
Parameters
- $manager
(WP_Customize_Manager)(Required)Customizer bootstrap instance.
- $id
(string)(Required)A specific ID of the setting. Can be a theme mod or option name.
- $args
(array)(Optional) Setting arguments.
Default value: array()
Source
File: wp-includes/customize/class-wp-customize-nav-menu-item-setting.php
public function __construct( WP_Customize_Manager $manager, $id, array $args = array() ) { if ( empty( $manager->nav_menus ) ) { throw new Exception( 'Expected WP_Customize_Manager::$nav_menus to be set.' ); } if ( ! preg_match( self::ID_PATTERN, $id, $matches ) ) { throw new Exception( "Illegal widget setting ID: $id" ); } $this->post_id = (int) $matches['id']; add_action( 'wp_update_nav_menu_item', array( $this, 'flush_cached_value' ), 10, 2 ); parent::__construct( $manager, $id, $args ); // Ensure that an initially-supplied value is valid. if ( isset( $this->value ) ) { $this->populate_value(); foreach ( array_diff( array_keys( $this->default ), array_keys( $this->value ) ) as $missing ) { throw new Exception( "Supplied nav_menu_item value missing property: $missing" ); } } }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
4.3.0 | Introduced. |